Skip to content
Snippets Groups Projects
Commit 4cfc28ed authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Installation destinations now managed through BornAgainConfiguration.cmake

parent 4f0ea262
No related branches found
No related tags found
No related merge requests found
......@@ -50,7 +50,7 @@ endif()
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/Tests/ReferenceData/IsGISAXS ${CMAKE_BINARY_DIR}/Tests/ReferenceData/IsGISAXS)
# dictionaries
ROOT_GENERATE_DICTIONARY(AppDict inc/DrawHelper.h inc/TreeEventStructure.h LINKDEF AppLinkDef.h)
ROOT_GENERATE_DICTIONARY(AppDict inc/DrawHelper.h inc/TreeEventStructure.h LINKDEF AppLinkDef.h)
add_executable(${executable_name} ${source_files} AppDict.cxx ${include_files})
......@@ -70,7 +70,7 @@ target_link_libraries(${executable_name}
)
# --- Installation ---
install (TARGETS ${executable_name} DESTINATION bin COMPONENT Applications)
install (TARGETS ${executable_name} DESTINATION ${destination_bin} COMPONENT Applications)
install (DIRECTORY ${CMAKE_SOURCE_DIR}/Tests/ReferenceData/IsGISAXS DESTINATION Tests/ReferenceData COMPONENT Applications)
# system libraries: ROOT installation
......
......@@ -9,7 +9,7 @@ project(BornAgain)
# --- The version number ---
set(BornAgain_VERSION_MAJOR 0)
set(BornAgain_VERSION_MINOR 9)
set(BornAgain_VERSION_PATCH 1)
set(BornAgain_VERSION_PATCH 2)
# --- General project settings ---
option(BORNAGAIN_PYTHON "Build with python support" ON)
......
......@@ -95,27 +95,17 @@ endif()
# -----------------------------------------------
# installation
# -----------------------------------------------
install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION Examples COMPONENT Examples FILES_MATCHING PATTERN "*.py" )
install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION Examples COMPONENT Examples FILES_MATCHING PATTERN "refdata*.txt" )
install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION Examples COMPONENT Examples FILES_MATCHING PATTERN "README")
install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION ${destination_examples} COMPONENT Examples FILES_MATCHING PATTERN "*.py" )
install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION ${destination_examples} COMPONENT Examples FILES_MATCHING PATTERN "refdata*.txt" )
install (DIRECTORY ${CMAKE_SOURCE_DIR}/Examples/ DESTINATION ${destination_examples} COMPONENT Examples FILES_MATCHING PATTERN "README")
# the line below copies the contains ${CMAKE_SOURCE_DIR}/bin to the bin folder of the final package
# install (DIRECTORY ${CMAKE_SOURCE_DIR}/bin DESTINATION . COMPONENT Libraries)
if(WIN32)
set(libdir "bin")
else()
set(libdir "lib")
endif()
install (TARGETS ${library_name} DESTINATION ${libdir} COMPONENT Libraries)
install (TARGETS ${library_name} DESTINATION ${destination_lib} COMPONENT Libraries)
if(WIN32 AND BORNAGAIN_PYTHON)
install(FILES
${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd
DESTINATION lib COMPONENT Libraries)
install(FILES
${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd
DESTINATION bin COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd DESTINATION ${destination_lib} COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd DESTINATION ${destination_bin} COMPONENT Libraries)
endif()
# list of headers to install
......@@ -126,7 +116,7 @@ file(GLOB include_files
"Samples/inc/*.h"
"Tools/inc/*.h"
)
install (FILES ${include_files} DESTINATION include COMPONENT Headers)
install (FILES ${include_files} DESTINATION ${destination_include} COMPONENT Headers)
# system libraries
if(WIN32)
......@@ -145,11 +135,11 @@ if(WIN32)
${CMAKE_LIBRARY_PATH}/boost_regex${boost_suffix}
${CMAKE_LIBRARY_PATH}/boost_thread${boost_suffix}
${CMAKE_LIBRARY_PATH}/libfftw3-3.dll
DESTINATION bin COMPONENT Libraries)
DESTINATION ${destination_lib} COMPONENT Libraries)
else()
install (FILES ${Boost_LIBRARIES} DESTINATION bin COMPONENT Libraries)
install (FILES ${FFTW_LIBRARY} DESTINATION bin COMPONENT Libraries)
install (FILES ${GSL_LIBRARIES} DESTINATION bin COMPONENT Libraries)
install (FILES ${Boost_LIBRARIES} DESTINATION ${destination_lib} COMPONENT Libraries)
install (FILES ${FFTW_LIBRARY} DESTINATION ${destination_lib} COMPONENT Libraries)
install (FILES ${GSL_LIBRARIES} DESTINATION ${destination_lib} COMPONENT Libraries)
endif()
endif()
......@@ -24,7 +24,7 @@ namespace AppVersion {
const std::string g_app_name = "BornAgain";
const int major_version_number = 0;
const int minor_version_number = 9;
const int patch_version_number = 1;
const int patch_version_number = 2;
inline int GetMajorVersionNumber() { return major_version_number; }
inline int GetMinorVersionNumber() { return minor_version_number; }
......
......@@ -81,21 +81,16 @@ endif()
# -----------------------------------------------
# installation
# -----------------------------------------------
if(WIN32)
set(libdir "bin")
else()
set(libdir "lib")
endif()
install (TARGETS ${library_name} DESTINATION ${libdir} COMPONENT Libraries)
install (TARGETS ${library_name} DESTINATION ${destination_lib} COMPONENT Libraries)
if(WIN32 AND BORNAGAIN_PYTHON)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd DESTINATION lib COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd DESTINATION bin COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd DESTINATION ${destination_lib} COMPONENT Libraries)
install(FILES ${CMAKE_BINARY_DIR}/lib/${libprefix}${library_name}.pyd DESTINATION ${destination_bin} COMPONENT Libraries)
endif()
# list of headers to install
file(GLOB include_files
"Factory/inc/*.h"
)
install (FILES ${include_files} DESTINATION include COMPONENT Headers)
install (FILES ${include_files} DESTINATION ${destination_include} COMPONENT Headers)
......@@ -108,7 +108,7 @@ qt5_use_modules(${executable_name} Widgets Core Gui Script WebKit WebKitWidgets
# --- Installation ---
install (TARGETS ${executable_name} DESTINATION bin COMPONENT Applications)
install (TARGETS ${executable_name} DESTINATION ${destination_bin} COMPONENT Applications)
# system libraries: ROOT installation
if(WIN32)
......@@ -135,7 +135,7 @@ if(WIN32)
${ROOTSYS}/bin/iconv-1.3.dll
${ROOTSYS}/bin/libWin32gdk.dll
${ROOTSYS}/bin/libAsImage.dll
DESTINATION bin COMPONENT Libraries)
DESTINATION ${destination_lib} COMPONENT Libraries)
install(FILES
${ROOTSYS}/fonts/FreeSans.otf
......@@ -196,7 +196,7 @@ if(WIN32)
${QTDIR}/bin/Qt5Sql.dll
${QTDIR}/bin/Qt5V8.dll
${QTDIR}/bin/Qt5WebKit.dll
DESTINATION bin COMPONENT Libraries)
DESTINATION ${destination_lib} COMPONENT Libraries)
install(FILES
${QTDIR}/plugins/platforms/qwindows.dll
......
......@@ -92,5 +92,5 @@ target_link_libraries(${library_name} ${Qt5Widgets_LIBRARIES})
qt5_use_modules(${library_name} Widgets)
# --- installation ---
install (TARGETS ${library_name} DESTINATION bin COMPONENT Libraries)
install (TARGETS ${library_name} DESTINATION ${destination_lib} COMPONENT Libraries)
......@@ -42,4 +42,4 @@ include_directories(${GSL_INCLUDE_DIRS})
target_link_libraries(${library_name} ${GSL_LIBRARIES})
# --- installation ---
#install (TARGETS ${library_name} DESTINATION lib COMPONENT Libraries)
#install (TARGETS ${library_name} DESTINATION ${destination_lib} COMPONENT Libraries)
......@@ -22,6 +22,17 @@ else()
set(libsuffix .so)
endif()
# --- installation destinations ---
set(destination_bin bin)
set(destination_lib lib)
set(destination_include include/BornAgain)
set(destination_examples share/BornAgain/Examples)
if(WIN32)
set(destination_lib bin)
set(destination_include include)
set(destination_examples Examples)
endif()
# --- configure a header file to pass CMake settings to the source code
configure_file(
......@@ -37,11 +48,11 @@ configure_file("${CMAKE_SOURCE_DIR}/cmake/scripts/thisbornagain.sh.in" "${CMAKE_
configure_file("${CMAKE_SOURCE_DIR}/cmake/scripts/thisbornagain.csh.in" "${CMAKE_BINARY_DIR}/bin/thisbornagain.csh" @ONLY)
# --- installation
install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/thisbornagain.sh
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/thisbornagain.csh
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
DESTINATION bin)
if(NOT WIN32)
install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/thisbornagain.sh
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/thisbornagain.csh
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ
DESTINATION bin)
endif()
# BornAgain project general configuration
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/lib)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/bin)
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
set(bindir $BORNAGAINSYS/bin)
set(libdir $BORNAGAINSYS/lib)
if(WIN32)
set(libprefix lib)
set(libsuffix .dll)
elseif(APPLE)
set(libprefix lib)
set(libsuffix .so)
else()
set(libprefix lib)
set(libsuffix .so)
endif()
# --- configure a header file to pass CMake settings to the source code
configure_file(
"${CMAKE_SOURCE_DIR}/Core/Samples/inc/BAVersion.h.in"
"${CMAKE_SOURCE_DIR}/Core/Samples/inc/BAVersion.h"
)
# --- configure deployment script for release
configure_file("${CMAKE_SOURCE_DIR}/cmake/scripts/release.sh.in" "${CMAKE_BINARY_DIR}/bin/release.sh")
# --- configure user setup script
configure_file("${CMAKE_SOURCE_DIR}/cmake/scripts/thisbornagain.sh.in" "${CMAKE_BINARY_DIR}/bin/thisbornagain.sh" @ONLY)
configure_file("${CMAKE_SOURCE_DIR}/cmake/scripts/thisbornagain.csh.in" "${CMAKE_BINARY_DIR}/bin/thisbornagain.csh" @ONLY)
# --- installation
install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/thisbornagain.sh
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/thisbornagain.csh
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
DESTINATION bin)
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