diff --git a/CMakeLists.txt b/CMakeLists.txt index b59ddabb0f221b68c352d2b56d227c58deebeda5..0f30fcec2b9690a03b3260a61a53ae2c783544f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -262,7 +262,9 @@ if(BA_TESTS) endif() # documentation -add_subdirectory(hugo) +if(BORNAGAIN_PYTHON) # required for examples + add_subdirectory(hugo) +endif() add_subdirectory(Doc/man) if(CONFIGURE_DOXY) add_subdirectory(Doc/Doxygen) diff --git a/Device/CMakeLists.txt b/Device/CMakeLists.txt index d0159f8470eba33d124b5c1a7aaae182fd7907b8..61245dd0311fa64fb7f8e0f85c639eef3638e680 100644 --- a/Device/CMakeLists.txt +++ b/Device/CMakeLists.txt @@ -27,14 +27,17 @@ MakeLib(${lib}) target_link_libraries(${lib} PUBLIC BornAgainBase - BornAgainPyCore BornAgainFit BornAgainParam BornAgainSample BornAgainResample ${CMAKE_THREAD_LIBS_INIT} ${tspectrum_LIBRARY} - ) +) +if(BORNAGAIN_PYTHON) + target_link_libraries(${lib} PUBLIC BornAgainPyCore) +endif() + target_include_directories(${lib} PUBLIC ${CMAKE_SOURCE_DIR} diff --git a/Device/Data/Datafield.h b/Device/Data/Datafield.h index 9acb6ba3f72acfe79254f0597ba84e50d327cdc2..53e53560465068bf4da5b4762e6f06c6cf83f990 100644 --- a/Device/Data/Datafield.h +++ b/Device/Data/Datafield.h @@ -18,7 +18,9 @@ #include <memory> #include <vector> +#ifdef BORNAGAIN_PYTHON #include "PyCore/Embed/PyObjectDecl.h" +#endif using std::size_t; diff --git a/GUI/CMakeLists.txt b/GUI/CMakeLists.txt index 5c5c40fc54ae23980809bbe0792792c2a1aaf023..f69e8b2b6fcf36eb399f828078636823dbc5b6a2 100644 --- a/GUI/CMakeLists.txt +++ b/GUI/CMakeLists.txt @@ -51,7 +51,6 @@ endif() target_link_libraries(${lib} PUBLIC - BornAgainPyCore BornAgainSim BornAgainImg3D Qt6::Widgets @@ -62,6 +61,9 @@ target_link_libraries(${lib} Qt6::PrintSupport qcustomplot ) +if(BORNAGAIN_PYTHON) + target_link_libraries(${lib} PUBLIC BornAgainPyCore) +endif() target_include_directories(${lib} PUBLIC ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/3rdparty/GUI/qcustomplot diff --git a/cmake/BornAgain/MakeLib.cmake b/cmake/BornAgain/MakeLib.cmake index ecf4520b05dffd219e6b9b5660891dde4c301890..86ad2b519c28d1907571b3fb159e4459e8657435 100644 --- a/cmake/BornAgain/MakeLib.cmake +++ b/cmake/BornAgain/MakeLib.cmake @@ -64,31 +64,32 @@ function(MakeLib lib) if(BORNAGAIN_PYTHON) target_compile_definitions(${lib} PRIVATE -DBORNAGAIN_PYTHON) - endif() - # SWIG-produced interface - if(swigtmpdir) - SwigLib(${name} ${lib} ${swigtmpdir}) - endif() + # SWIG-produced interface + if(swigtmpdir) + SwigLib(${name} ${lib} ${swigtmpdir}) + endif() - # Python package - if(BA_PY_PACKAGE) - # add the BornAgain library to the Python wheel - add_library_to_wheel(${lib}) - endif() + # Python package + if(BA_PY_PACKAGE) + # add the BornAgain library to the Python wheel + add_library_to_wheel(${lib}) + endif() - if(WIN32 AND BORNAGAIN_PYTHON) - # python in windows required .pyd extension for the library name - install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${libprefix}${lib}.pyd - DESTINATION ${destination_python} COMPONENT Libraries) - add_custom_command( - TARGET ${lib} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix} - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${libprefix}${lib}${libsuffix} - ) - endif() + if(WIN32) + # python in windows required .pyd extension for the library name + install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${libprefix}${lib}.pyd + DESTINATION ${destination_python} COMPONENT Libraries) + add_custom_command( + TARGET ${lib} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix} + ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${libprefix}${lib}${libsuffix} + ) + endif() + + endif() # BORNAGAIN_PYTHON # installation install(TARGETS ${lib}