diff --git a/Core/CMakeLists.txt b/Core/CMakeLists.txt index d1c06e63cdf8b46e9ad1b511f03867d02341b980..2662a8f5298edcb5a6e9d9fd3ae80f6c0b932e67 100644 --- a/Core/CMakeLists.txt +++ b/Core/CMakeLists.txt @@ -18,9 +18,10 @@ if(${Cerf_IS_CPP}) string(APPEND CMAKE_CXX_FLAGS " -DCERF_AS_CPP=ON") endif() +# --- make the library --- + MakeLib(${name} ${lib} ${CMAKE_CURRENT_BINARY_DIR}/Wrap) -# exposing library name and list of include directories outside set(${lib}_LIBRARY ${lib} PARENT_SCOPE) # --- external dependencies --- @@ -53,17 +54,3 @@ if(BORNAGAIN_MPI) include_directories(${MPI_INCLUDE_PATH}) target_link_libraries(${lib} ${MPI_LIBRARIES}) endif() - -if(APPLE AND BORNAGAIN_APPLE_BUNDLE) - set(link_flags "-Wl,-rpath,@loader_path/../../Frameworks") - set_target_properties(${lib} PROPERTIES LINK_FLAGS ${link_flags}) -endif() - -# --- installation --- - -install(TARGETS ${lib} DESTINATION ${destination_lib} COMPONENT Libraries) - -foreach(file ${include_files}) - get_filename_component(dir ${file} DIRECTORY) - install(FILES ${file} DESTINATION ${destination_include}/${name}/${dir}) -endforeach() diff --git a/Fit/CMakeLists.txt b/Fit/CMakeLists.txt index 710583e208619c170f258cd0df1aa49c214ee5ff..69323b661196b7a44098d2c9e3fc9988a543d10d 100644 --- a/Fit/CMakeLists.txt +++ b/Fit/CMakeLists.txt @@ -10,21 +10,10 @@ set(lib BornAgain${name}) file(GLOB source_files */*.cpp) file(GLOB include_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} */*.h) -if(BORNAGAIN_PYTHON) - list(APPEND source_files "${AUTO_DIR}/lib${lib}_wrap.cpp") -endif() +# --- make the library --- -# --- making library --- +MakeLib(${name} ${lib} ${CMAKE_CURRENT_BINARY_DIR}/Wrap) -add_library(${lib} SHARED ${source_files}) -set_target_properties(${lib} PROPERTIES PREFIX ${libprefix} SUFFIX ${libsuffix}) -set(${lib}_LIBRARY_TYPE SHARED) - -if(BORNAGAIN_PYTHON) - SwigLib(${name} ${lib} ${CMAKE_CURRENT_BINARY_DIR}/Wrap) -endif(BORNAGAIN_PYTHON) - -# exposing library name and list of include directories outside set(${lib}_LIBRARY ${lib} PARENT_SCOPE) # --- external dependencies --- @@ -32,18 +21,3 @@ set(${lib}_LIBRARY ${lib} PARENT_SCOPE) target_include_directories(${lib} PUBLIC ${RootMinimizers_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}) target_link_libraries(${lib} ${RootMinimizers_LIBRARY} ${Boost_LIBRARIES}) - - -if(APPLE AND BORNAGAIN_APPLE_BUNDLE) - set(link_flags "-Wl,-rpath,@loader_path/../../Frameworks") - set_target_properties(${lib} PROPERTIES LINK_FLAGS ${link_flags}) -endif() - -# --- installation --- - -install(TARGETS ${lib} DESTINATION ${destination_lib} COMPONENT Libraries) - -foreach(file ${include_files}) - get_filename_component(dir ${file} DIRECTORY) - install(FILES ${file} DESTINATION ${destination_include}/${name}/${dir}) -endforeach() diff --git a/cmake/BornAgain/MakeLib.cmake b/cmake/BornAgain/MakeLib.cmake index c002122e899c431412de6960ac63b4649404f4db..cc23dd01b799f6a5efc6bccf0e842c64eb9210c5 100644 --- a/cmake/BornAgain/MakeLib.cmake +++ b/cmake/BornAgain/MakeLib.cmake @@ -3,12 +3,24 @@ function(MakeLib name lib tmpdir) if(BORNAGAIN_PYTHON) list(APPEND source_files "${AUTO_DIR}/lib${lib}_wrap.cpp") endif() + add_library(${lib} SHARED ${source_files}) set_target_properties(${lib} PROPERTIES PREFIX ${libprefix} SUFFIX ${libsuffix}) + if(APPLE AND BORNAGAIN_APPLE_BUNDLE) + set(link_flags "-Wl,-rpath,@loader_path/../../Frameworks") + set_target_properties(${lib} PROPERTIES LINK_FLAGS ${link_flags}) + endif() + set(${lib}_LIBRARY_TYPE SHARED) if(BORNAGAIN_PYTHON) SwigLib(${name} ${lib} ${tmpdir}) endif(BORNAGAIN_PYTHON) + install(TARGETS ${lib} DESTINATION ${destination_lib} COMPONENT Libraries) + foreach(file ${include_files}) + get_filename_component(dir ${file} DIRECTORY) + install(FILES ${file} DESTINATION ${destination_include}/${name}/${dir}) + endforeach() + endfunction()