diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b4faf4d4..ddd59ea64 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,17 +54,29 @@ ENDIF() # Ensure scikit-build modules FIND_PACKAGE(Python COMPONENTS Interpreter Development.Module REQUIRED) - # Define some directories that are important to the build SET(SRC "${CMAKE_SOURCE_DIR}/src") SET(PY "${CMAKE_SOURCE_DIR}/swiftest") +##################################### +# Tell how to install this executable +##################################### +IF(WIN32) + SET(CMAKE_INSTALL_PREFIX "C:\\Program Files\\swiftest") + FILE(TO_CMAKE_PATH ${CMAKE_INSTALL_PREFIX} CMAKE_INSTALL_PREFIX) +ELSE() + SET(CMAKE_INSTALL_PREFIX /usr/local) +ENDIF(WIN32) + # Make sure paths are correct for Unix or Windows style FILE(TO_CMAKE_PATH ${SRC} SRC) FILE(TO_CMAKE_PATH ${PY} PY) +FILE(TO_CMAKE_PATH "bin" CMAKE_INSTALL_BINDIR) +FILE(TO_CMAKE_PATH "lib" CMAKE_INSTALL_LIBDIR) +FILE(TO_CMAKE_PATH "include" CMAKE_INSTALL_INCLUDEDIR) -# Have the .mod files placed in the lib folder -SET(CMAKE_Fortran_MODULE_DIRECTORY ${MOD}) +# Have the .mod files placed in the include folder +SET(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}) # use, i.e. don't skip the full RPATH for the build tree set(CMAKE_SKIP_BUILD_RPATH FALSE) @@ -73,7 +85,7 @@ set(CMAKE_SKIP_BUILD_RPATH FALSE) # (but later on when installing) set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) -# If we are using Scikit-Build, be sure +# If we are using Scikit-Build, be sure to set install paths correctly if (SKBUILD) find_package(PythonExtensions REQUIRED) set(lib_path "${PYTHON_PREFIX}/${CMAKE_INSTALL_LIBDIR}") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 441f9b825..38d953093 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -208,21 +208,6 @@ ELSE () MESSAGE(STATUS "Quad precision real is not supported") ENDIF () -##################################### -# Tell how to install this executable -##################################### -IF(WIN32) - SET(CMAKE_INSTALL_PREFIX "C:\\Program Files") - FILE(TO_CMAKE_PATH ${CMAKE_INSTALL_PREFIX} CMAKE_INSTALL_PREFIX) -ELSE() - SET(CMAKE_INSTALL_PREFIX /usr/local) -ENDIF(WIN32) -INSTALL(TARGETS ${SWIFTEST_DRIVER} ${SWIFTEST_LIBRARY} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -) # the RPATH to be used when installing, but only if it's not a system directory LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) @@ -236,3 +221,10 @@ IF("${isSystemDir}" STREQUAL "-1") INSTALL_RPATH_USE_LINK_PATH TRUE INSTALL_RPATH "${lib_path}") endif("${isSystemDir}" STREQUAL "-1") + +INSTALL(TARGETS ${SWIFTEST_DRIVER} ${SWIFTEST_LIBRARY} + RUNTIME DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_LIBDIR} + INCLUDES DESTINATION ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR} +)