diff --git a/CMakeLists.txt b/CMakeLists.txt index 41ceaad6..e58e2b55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,7 +108,7 @@ target_include_directories( $ $ $ - $ + $ ) # Add example application @@ -153,7 +153,7 @@ install( install( DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include/" - DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${module-dir}" + DESTINATION "${SDFTD3_INSTALL_FMODDIR}" ) if(SDFTD3_WITH_API) enable_language("C") diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt index 1ec8b6c2..a72e4754 100644 --- a/config/CMakeLists.txt +++ b/config/CMakeLists.txt @@ -42,10 +42,10 @@ if(NOT DEFINED "${PROJECT_NAME}-dependency-method") endif() set( - module-dir - "${PROJECT_NAME}/${CMAKE_Fortran_COMPILER_ID}-${CMAKE_Fortran_COMPILER_VERSION}" + SDFTD3_INSTALL_FMODDIR + "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${CMAKE_Fortran_COMPILER_ID}-${CMAKE_Fortran_COMPILER_VERSION}" + CACHE STRING "Installation directory for Fortran modules" ) -set(module-dir "${module-dir}" PARENT_SCOPE) # Set build type as CMake does not provide defaults if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) @@ -86,6 +86,12 @@ install( DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" ) +if(IS_ABSOLUTE "${SDFTD3_INSTALL_FMODDIR}") + set(pkgconfig_fmoddir "${SDFTD3_INSTALL_FMODDIR}") +else() + set(pkgconfig_fmoddir "\${prefix}/${SDFTD3_INSTALL_FMODDIR}") +endif() + configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/template.pc" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" diff --git a/config/template.pc b/config/template.pc index 3d6efbb5..a6af557d 100644 --- a/config/template.pc +++ b/config/template.pc @@ -1,9 +1,10 @@ prefix=@CMAKE_INSTALL_PREFIX@ libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +fmoddir=@pkgconfig_fmoddir@ Name: @PROJECT_NAME@ Description: @PROJECT_DESCRIPTION@ Version: @PROJECT_VERSION@ Libs: -L${libdir} -l@PROJECT_NAME@ -Cflags: -I${includedir} -I${includedir}/@module-dir@ +Cflags: -I${includedir} -I${fmoddir}