set(PLUGIN_NAME quantum_computing) list(APPEND HEADERS QuantumCircuit.h BlochSphere.h QuantumState.h Qubit.h QuantumOperator.h QuantumCircuitReader.h QuantumSimulator.h circuit_elements/QuantumCircuitElement.h circuit_elements/QuantumWire.h circuit_elements/QuantumGate.h circuit_elements/QuantumTerminal.h circuit_elements/BasicQuantumGates.h visuals/BlochSphereNode.h visuals/QuantumCircuitNode.h visuals/QuantumCircuitElementNode.h visuals/QuantumGateNode.h visuals/QuantumWireNode.h visuals/QuantumTerminalNode.h visuals/QuantumStateNode.h ) list(APPEND SOURCES QuantumCircuit.cpp BlochSphere.cpp QuantumState.cpp Qubit.cpp QuantumOperator.cpp QuantumCircuitReader.cpp QuantumSimulator.cpp circuit_elements/QuantumGate.cpp circuit_elements/QuantumCircuitElement.cpp circuit_elements/QuantumWire.cpp circuit_elements/QuantumTerminal.cpp circuit_elements/BasicQuantumGates.cpp visuals/BlochSphereNode.cpp visuals/QuantumCircuitNode.cpp visuals/QuantumCircuitElementNode.cpp visuals/QuantumGateNode.cpp visuals/QuantumWireNode.cpp visuals/QuantumTerminalNode.cpp visuals/QuantumStateNode.cpp visuals/BlochSphereNode.cpp ) add_library(${PLUGIN_NAME} SHARED ${SOURCES} ${HEADERS}) target_include_directories(${PLUGIN_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/circuit_elements ${CMAKE_CURRENT_SOURCE_DIR}/visuals ) target_link_libraries(${PLUGIN_NAME} PUBLIC core visual_elements ntk_math publishing) set_property(TARGET ${PLUGIN_NAME} PROPERTY FOLDER plugins) set_target_properties( ${PLUGIN_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON )