From 54e13a93afc2d6ffb73ee0af7e29baacdfb4d65b Mon Sep 17 00:00:00 2001 From: Blaise Bourdin Date: Sun, 6 Jul 2025 18:05:46 -0400 Subject: [PATCH 1/2] CMake fixes: - Add the option to build static or shared library - Fixed make install --- CMakeLists.txt | 5 ++++- src/CMakeLists.txt | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7bf4459..ad1ada0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 2.8) enable_language(C Fortran) project(symengine.f90) +set (CMAKE_Fortran_MODULE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/mod") +option(BUILD_SHARED_LIBS "Build using shared libraries" ON) set(CMAKE_PREFIX_PATH ${SymEngine_DIR} ${CMAKE_PREFIX_PATH}) find_package(SymEngine 0.3.0 REQUIRED CONFIG @@ -11,7 +13,8 @@ set(CMAKE_CXX_FLAGS_RELEASE ${SYMENGINE_CXX_FLAGS_RELEASE}) set(CMAKE_CXX_FLAGS_DEBUG ${SYMENGINE_CXX_FLAGS_DEBUG}) include_directories(${SYMENGINE_INCLUDE_DIRS}) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") +set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files) +install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include) if (MINGW AND ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DMS_WIN64") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3634658..eecfe29 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,3 +13,6 @@ set(SRC ) add_library(symengine_f90 ${SRC}) target_link_libraries(symengine_f90 ${SYMENGINE_LIBRARIES}) + +install(TARGETS symengine_f90 DESTINATION lib) +# install(TARGETS symengine_f90.mod DESTINATION include) \ No newline at end of file From b7db2b76b359506d760b72f2999b686a9817cb9d Mon Sep 17 00:00:00 2001 From: Blaise Bourdin Date: Mon, 7 Jul 2025 08:50:47 -0400 Subject: [PATCH 2/2] Defaults to static library removed unused statement --- CMakeLists.txt | 3 +-- src/CMakeLists.txt | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ad1ada0..1bdc2ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8) enable_language(C Fortran) project(symengine.f90) set (CMAKE_Fortran_MODULE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/mod") -option(BUILD_SHARED_LIBS "Build using shared libraries" ON) +option(BUILD_SHARED_LIBS "Build using shared libraries") set(CMAKE_PREFIX_PATH ${SymEngine_DIR} ${CMAKE_PREFIX_PATH}) find_package(SymEngine 0.3.0 REQUIRED CONFIG @@ -13,7 +13,6 @@ set(CMAKE_CXX_FLAGS_RELEASE ${SYMENGINE_CXX_FLAGS_RELEASE}) set(CMAKE_CXX_FLAGS_DEBUG ${SYMENGINE_CXX_FLAGS_DEBUG}) include_directories(${SYMENGINE_INCLUDE_DIRS}) -set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/mod_files) install(DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/ DESTINATION include) if (MINGW AND ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index eecfe29..ccca0fc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,4 +15,3 @@ add_library(symengine_f90 ${SRC}) target_link_libraries(symengine_f90 ${SYMENGINE_LIBRARIES}) install(TARGETS symengine_f90 DESTINATION lib) -# install(TARGETS symengine_f90.mod DESTINATION include) \ No newline at end of file