Skip to content
Snippets Groups Projects
Commit ee5d43bb authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

ctd and finish

parent b58546d6
No related branches found
No related tags found
No related merge requests found
...@@ -95,7 +95,9 @@ if(BORNAGAIN_GUI) ...@@ -95,7 +95,9 @@ if(BORNAGAIN_GUI)
string(APPEND CMAKE_CXX_FLAGS " -DHAVE_QT=ON") string(APPEND CMAKE_CXX_FLAGS " -DHAVE_QT=ON")
endif() endif()
include(BornAgain/Config) include(BornAgain/Config)
include(BornAgain/PythonAPI) if(BORNAGAIN_PYTHON)
include(BornAgain/PythonAPI)
endif()
include(BornAgain/PythonDocs) include(BornAgain/PythonDocs)
# debug optimization # debug optimization
...@@ -134,6 +136,9 @@ if(BORNAGAIN_TIDY) ...@@ -134,6 +136,9 @@ if(BORNAGAIN_TIDY)
endif() endif()
add_subdirectory(Fit) add_subdirectory(Fit)
if(BORNAGAIN_PYTHON)
add_dependencies(BornAgainFit swig_runtime)
endif()
add_subdirectory(Tests/UnitTests/Fit) add_subdirectory(Tests/UnitTests/Fit)
add_subdirectory(Core) add_subdirectory(Core)
......
...@@ -34,10 +34,6 @@ endif(BORNAGAIN_PYTHON) ...@@ -34,10 +34,6 @@ endif(BORNAGAIN_PYTHON)
# exposing library name and list of include directories outside # exposing library name and list of include directories outside
set(${lib}_LIBRARY ${lib} PARENT_SCOPE) set(${lib}_LIBRARY ${lib} PARENT_SCOPE)
if(BORNAGAIN_PYTHON)
add_dependencies(${lib} swig_runtime)
endif()
# --- external dependencies --- # --- external dependencies ---
target_link_libraries(${lib} ${BornAgainFit_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) target_link_libraries(${lib} ${BornAgainFit_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
...@@ -76,33 +72,9 @@ endif() ...@@ -76,33 +72,9 @@ endif()
# --- installation --- # --- installation ---
install(TARGETS ${lib} DESTINATION ${destination_lib} COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/lib${lib}.py
DESTINATION ${destination_lib} COMPONENT Libraries) # required by swig
foreach(file ${include_files}) foreach(file ${include_files})
get_filename_component(dir ${file} DIRECTORY) get_filename_component(dir ${file} DIRECTORY)
install(FILES ${file} DESTINATION ${destination_include}/${name}/${dir}) install(FILES ${file} DESTINATION ${destination_include}/${name}/${dir})
endforeach() endforeach()
if(WIN32)
# python in windows required .pyd extension for the library name
if(BORNAGAIN_PYTHON)
add_custom_command(
TARGET ${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix}
${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}".pyd"
)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}.pyd
DESTINATION ${destination_lib} COMPONENT Libraries)
add_custom_command(
TARGET ${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix}
${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}${libsuffix}
)
endif()
endif()
...@@ -41,33 +41,9 @@ endif() ...@@ -41,33 +41,9 @@ endif()
# --- installation --- # --- installation ---
install(TARGETS ${lib} DESTINATION ${destination_lib} COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/lib${lib}.py
DESTINATION ${destination_lib} COMPONENT Libraries) # required by swig
foreach(file ${include_files}) foreach(file ${include_files})
get_filename_component(dir ${file} DIRECTORY) get_filename_component(dir ${file} DIRECTORY)
install(FILES ${file} DESTINATION ${destination_include}/${name}/${dir}) install(FILES ${file} DESTINATION ${destination_include}/${name}/${dir})
endforeach() endforeach()
if(WIN32)
# python in windows required .pyd extension for the library name
if(BORNAGAIN_PYTHON)
add_custom_command(
TARGET ${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix}
${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}".pyd"
)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}.pyd
DESTINATION ${destination_lib} COMPONENT Libraries)
add_custom_command(
TARGET ${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix}
${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}${libsuffix}
)
endif()
endif()
# Configure and install the Swig runtime, the BornAgain Python module, and more # Configure and install the Swig runtime, the BornAgain Python module, and more
if(NOT BORNAGAIN_PYTHON)
message(FATAL_ERROR "PythonAPI included though BORNAGAIN_PYTHON=false")
endif()
configure_file(${WRAP_DIR}/python/plot_utils.py configure_file(${WRAP_DIR}/python/plot_utils.py
${CMAKE_BINARY_DIR}/lib/bornagain/plot_utils.py COPYONLY) ${CMAKE_BINARY_DIR}/lib/bornagain/plot_utils.py COPYONLY)
...@@ -22,6 +26,7 @@ if(CONFIGURE_BINDINGS) ...@@ -22,6 +26,7 @@ if(CONFIGURE_BINDINGS)
DEPENDS ${swig_dependencies} ${include_files} DEPENDS ${swig_dependencies} ${include_files}
) )
endif() endif()
add_custom_target(swig_runtime DEPENDS ${AUTO_DIR}/swig_runtime.h) add_custom_target(swig_runtime DEPENDS ${AUTO_DIR}/swig_runtime.h)
install(DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ install(DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/
......
...@@ -69,4 +69,30 @@ function(SwigLib name lib TMP_DIR) ...@@ -69,4 +69,30 @@ function(SwigLib name lib TMP_DIR)
target_include_directories(${lib} PUBLIC ${Python3_INCLUDE_DIRS} ${Python3_NumPy_INCLUDE_DIRS}) target_include_directories(${lib} PUBLIC ${Python3_INCLUDE_DIRS} ${Python3_NumPy_INCLUDE_DIRS})
target_link_libraries(${lib} ${Python3_LIBRARIES}) target_link_libraries(${lib} ${Python3_LIBRARIES})
install(TARGETS ${lib} DESTINATION ${destination_lib} COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/lib${lib}.py
DESTINATION ${destination_lib} COMPONENT Libraries) # required by swig
if(WIN32)
# python in windows required .pyd extension for the library name
if(BORNAGAIN_PYTHON)
add_custom_command(
TARGET ${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix}
${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}".pyd"
)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}.pyd
DESTINATION ${destination_lib} COMPONENT Libraries)
add_custom_command(
TARGET ${lib}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_BINARY_DIR}/bin/${libprefix}${lib}${libsuffix}
${CMAKE_BINARY_DIR}/lib/${libprefix}${lib}${libsuffix}
)
endif()
endif()
endfunction() endfunction()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment