Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PROJECT(GoTools)


CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)

# Set version info
SET(GoTools_VERSION_MAJOR 4)
Expand Down
57 changes: 21 additions & 36 deletions gotools-core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -98,73 +98,58 @@ if (GoTools_COPY_DATA)
DESTINATION ${GoToolsCore_BINARY_DIR}/examples)
endif()

# 'install' target
IF(WIN32)
# Windows
# lib
INSTALL(TARGETS GoToolsCore DESTINATION ${GoTools_INSTALL_PREFIX}/lib)
# include
INSTALL(DIRECTORY include/
DESTINATION ${GoTools_INSTALL_PREFIX}/include
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
ELSE(WIN32)
# Linux
# lib
INSTALL(TARGETS GoToolsCore DESTINATION lib COMPONENT core)
# include
INSTALL(DIRECTORY include/
DESTINATION include
COMPONENT core-dev
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
ENDIF(WIN32)
# Set default installation prefix
# IF(WIN32)
# SET(GoTools_INSTALL_PREFIX "$ENV{PROGRAMFILES}/SINTEF/GoTools" CACHE PATH "Path to install GoTools")
# ENDIF()
if(NOT DEFINED GoTools_INSTALL_PREFIX)
SET(GoTools_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Path to install GoTools")
endif()

# === Install Targets and Export Package ===

include(CMakePackageConfigHelpers)

# Install the GoToolsCore target with export set
# Install the GoToolsCore target
install(TARGETS GoToolsCore
EXPORT GoToolsCoreTargets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION include
ARCHIVE DESTINATION ${GoTools_INSTALL_PREFIX}/lib
LIBRARY DESTINATION ${GoTools_INSTALL_PREFIX}/lib
RUNTIME DESTINATION ${GoTools_INSTALL_PREFIX}/bin
INCLUDES DESTINATION ${GoTools_INSTALL_PREFIX}/include
)

# Install headers
install(DIRECTORY include/
DESTINATION include
DESTINATION ${GoTools_INSTALL_PREFIX}/include
FILES_MATCHING PATTERN "*.h"
)

# Export the targets to a file
# Export the targets
install(EXPORT GoToolsCoreTargets
FILE GoToolsCoreTargets.cmake
#NAMESPACE GoTools:: # So consumer can do target_link_libraries(... GoTools::GoToolsCore)
DESTINATION lib/cmake/GoToolsCore
DESTINATION ${GoTools_INSTALL_PREFIX}/lib/cmake/GoToolsCore
)

# Generate and install the Config and Version files
# Generate version file
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/GoToolsCoreConfigVersion.cmake"
VERSION ${GoTools_VERSION_MAJOR}.${GoTools_VERSION_MINOR}.${GoTools_VERSION_PATCH}
COMPATIBILITY SameMajorVersion
)

# Generate config file from template
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/GoToolsCoreConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/GoToolsCoreConfig.cmake"
INSTALL_DESTINATION lib/cmake/GoToolsCore
INSTALL_DESTINATION ${GoTools_INSTALL_PREFIX}/lib/cmake/GoToolsCore
)

# Install the config files
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/GoToolsCoreConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/GoToolsCoreConfigVersion.cmake"
DESTINATION lib/cmake/GoToolsCore
DESTINATION ${GoTools_INSTALL_PREFIX}/lib/cmake/GoToolsCore
)

# Optional stripping
SET(CPACK_STRIP_FILES ${CPACK_STRIP_FILES} libGoToolsCore.so)
123 changes: 37 additions & 86 deletions lrsplines2D/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ IF(GoTools_ENABLE_OPENMP)
FIND_PACKAGE(OpenMP REQUIRED)
ENDIF(GoTools_ENABLE_OPENMP)
#set(Boost_DEBUG ON)

FIND_PACKAGE(Boost COMPONENTS timer REQUIRED)

# Include directories

INCLUDE_DIRECTORIES(
${GoLRspline2D_SOURCE_DIR}/include
${GoToolsCore_SOURCE_DIR}/include
Expand All @@ -18,161 +18,112 @@ INCLUDE_DIRECTORIES(
)

ADD_COMPILE_DEFINITIONS(BOOST_TIMER_SOURCE)

ADD_COMPILE_DEFINITIONS(BOOST_CHRONO_HEADER_ONLY)

# Linked in libraries
# message("Boost_USE_STATIC_LIBS: ${Boost_USE_STATIC_LIBS}")
SET(DEPLIBS
GoToolsCore
sisl
)
# message("DEPLIBS: ${DEPLIBS}")
# Make the GoLRspline2D library
)

FILE(GLOB_RECURSE GoLRspline2D_SRCS src/*.C include/*.h)
if (BUILD_AS_SHARED_LIBRARY)
ADD_LIBRARY(GoLRspline2D SHARED ${GoLRspline2D_SRCS})
else (BUILD_AS_SHARED_LIBRARY)
else ()
ADD_LIBRARY(GoLRspline2D ${GoLRspline2D_SRCS})
endif (BUILD_AS_SHARED_LIBRARY)
endif ()
TARGET_LINK_LIBRARIES(GoLRspline2D ${DEPLIBS})
SET_PROPERTY(TARGET GoLRspline2D
PROPERTY FOLDER "GoLRspline2D/Libs")
SET_PROPERTY(TARGET GoLRspline2D PROPERTY FOLDER "GoLRspline2D/Libs")
SET_TARGET_PROPERTIES(GoLRspline2D PROPERTIES SOVERSION ${GoTools_ABI_VERSION})
IF(GoTools_ENABLE_OPENMP)
SET_TARGET_PROPERTIES(GoLRspline2D PROPERTIES COMPILE_FLAGS "${OpenMP_CXX_FLAGS}")
SET_TARGET_PROPERTIES(GoLRspline2D PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}")
ENDIF(GoTools_ENABLE_OPENMP)


#message(STATUS ${GoLRspline2D_SRCS})


# # Make the LRSplinePlotUtils library

# FILE(GLOB_RECURSE LRspline2D_SRCS src/*.C include/*.h)
# ADD_LIBRARY(GoLRspline2D ${GoLRspline2D_SRCS})
# TARGET_LINK_LIBRARIES(GoLRspline2D ${DEPLIBS})
# SET_PROPERTY(TARGET GoLRspline2D
# PROPERTY FOLDER "GoLRspline2D/Libs")


# Apps, examples, tests, ...?

# Apps and tests
MACRO(ADD_APPS SUBDIR PROPERTY_FOLDER IS_TEST)
FILE(GLOB_RECURSE GoLRspline2D_APPS ${SUBDIR}/*.C)
FOREACH(app ${GoLRspline2D_APPS})
GET_FILENAME_COMPONENT(appname ${app} NAME_WE)
ADD_EXECUTABLE(${appname} ${app})
TARGET_LINK_LIBRARIES(${appname} GoLRspline2D ${DEPLIBS})
SET_TARGET_PROPERTIES(${appname}
PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SUBDIR})
SET_PROPERTY(TARGET ${appname}
PROPERTY FOLDER "GoLRspline2D/${PROPERTY_FOLDER}")
SET_TARGET_PROPERTIES(${appname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${SUBDIR})
SET_PROPERTY(TARGET ${appname} PROPERTY FOLDER "GoLRspline2D/${PROPERTY_FOLDER}")
IF(${IS_TEST})
ADD_TEST(${appname} ${SUBDIR}/${appname}
--log_format=XML --log_level=all --log_sink=../Testing/${appname}.xml)
SET_TESTS_PROPERTIES( ${appname} PROPERTIES LABELS "${SUBDIR}" )
ENDIF(${IS_TEST})
ENDFOREACH(app)
ENDMACRO(ADD_APPS)
ADD_TEST(${appname} ${SUBDIR}/${appname} --log_format=XML --log_level=all --log_sink=../Testing/${appname}.xml)
SET_TESTS_PROPERTIES(${appname} PROPERTIES LABELS "${SUBDIR}")
ENDIF()
ENDFOREACH()
ENDMACRO()

IF(GoTools_COMPILE_APPS)
SET(DEPLIBS ${DEPLIBS} ${Boost_LIBRARIES})
FILE(GLOB_RECURSE GoLRspline2D_APPS app/*.C)
FOREACH(app ${GoLRspline2D_APPS})
GET_FILENAME_COMPONENT(appname ${app} NAME_WE)
# message(STATUS ${appname})
# message(STATUS ${app})
ADD_EXECUTABLE(${appname} ${app})
TARGET_LINK_LIBRARIES(${appname} GoLRspline2D ${DEPLIBS})
SET_TARGET_PROPERTIES(${appname}
PROPERTIES RUNTIME_OUTPUT_DIRECTORY app)
SET_TARGET_PROPERTIES(${appname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY app)
IF(GoTools_ENABLE_OPENMP)
SET_TARGET_PROPERTIES(${appname} PROPERTIES COMPILE_FLAGS "${OpenMP_CXX_FLAGS}")
SET_TARGET_PROPERTIES(${appname} PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}")
ENDIF(GoTools_ENABLE_OPENMP)
SET_PROPERTY(TARGET ${appname}
PROPERTY FOLDER "GoLRspline2D/Apps")
ENDFOREACH(app)
ENDIF()
SET_PROPERTY(TARGET ${appname} PROPERTY FOLDER "GoLRspline2D/Apps")
ENDFOREACH()

FILE(GLOB_RECURSE GoLRspline2D_EXAMPLES examples/*.C)
FOREACH(app ${GoLRspline2D_EXAMPLES})
GET_FILENAME_COMPONENT(appname ${app} NAME_WE)
ADD_EXECUTABLE(${appname} ${app})
TARGET_LINK_LIBRARIES(${appname} GoLRspline2D ${DEPLIBS})
SET_TARGET_PROPERTIES(${appname}
PROPERTIES RUNTIME_OUTPUT_DIRECTORY examples)
SET_TARGET_PROPERTIES(${appname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY examples)
IF(GoTools_ENABLE_OPENMP)
SET_TARGET_PROPERTIES(${appname} PROPERTIES COMPILE_FLAGS "${OpenMP_CXX_FLAGS}")
SET_TARGET_PROPERTIES(${appname} PROPERTIES LINK_FLAGS "${OpenMP_CXX_FLAGS}")
ENDIF(GoTools_ENABLE_OPENMP)
SET_PROPERTY(TARGET ${appname}
PROPERTY FOLDER "GoLRspline2D/Examples")
ENDFOREACH(app)
ENDIF(GoTools_COMPILE_APPS)

ENDIF()
SET_PROPERTY(TARGET ${appname} PROPERTY FOLDER "GoLRspline2D/Examples")
ENDFOREACH()
ENDIF()

IF(GoTools_COMPILE_TESTS)
SET(DEPLIBS ${DEPLIBS} ${Boost_LIBRARIES})
ADD_APPS(test/unit "Unit Tests" TRUE)
ADD_APPS(test/integration "Integration Tests" TRUE)
ADD_APPS(test/acceptance "Acceptance Tests" TRUE)
ENDIF(GoTools_COMPILE_TESTS)
ENDIF()

# Create a tmp directory.
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tmp)

# Copy data
if (GoTools_COPY_DATA)
FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../gotools-data/lrsplines2D/data
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../gotools-data/lrsplines2D/data DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
endif()

# 'install' target

IF(WIN32)
# Windows
# lib
INSTALL(TARGETS GoLRspline2D DESTINATION ${GoTools_INSTALL_PREFIX}/lib)
# include
INSTALL(DIRECTORY include/GoTools/lrsplines2D
DESTINATION ${GoTools_INSTALL_PREFIX}/include/GoTools
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
ELSE(WIN32)
# Linux
# lib
INSTALL(TARGETS GoLRspline2D DESTINATION lib COMPONENT lrsplines2D)
# include
INSTALL(DIRECTORY include/GoTools/lrsplines2D
DESTINATION include/GoTools
COMPONENT lrsplines2D-dev
FILES_MATCHING PATTERN "*.h"
PATTERN ".svn" EXCLUDE
)
ENDIF(WIN32)

# === Install and Export CMake Config Package ===

# if(NOT DEFINED GoTools_INSTALL_PREFIX)
# set(GoTools_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
# endif()
if(NOT DEFINED GoTools_INSTALL_PREFIX)
SET(GoTools_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Path to install GoTools")
endif()

include(CMakePackageConfigHelpers)

# Install the GoLRspline2D target
install(TARGETS GoLRspline2D
EXPORT GoLRspline2DTargets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION include
ARCHIVE DESTINATION ${GoTools_INSTALL_PREFIX}/lib
LIBRARY DESTINATION ${GoTools_INSTALL_PREFIX}/lib
RUNTIME DESTINATION ${GoTools_INSTALL_PREFIX}/bin
INCLUDES DESTINATION ${GoTools_INSTALL_PREFIX}/include
)

# Export the target without namespace
install(EXPORT GoLRspline2DTargets
FILE GoLRsplines2DTargets.cmake
DESTINATION lib/cmake/GoLRsplines2D
DESTINATION ${GoTools_INSTALL_PREFIX}/lib/cmake/GoLRsplines2D
)

# Generate the version file for find_package()
Expand All @@ -186,14 +137,14 @@ write_basic_package_version_file(
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/GoLRsplines2DConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/GoLRsplines2DConfig.cmake"
INSTALL_DESTINATION lib/cmake/GoLRsplines2D
INSTALL_DESTINATION ${GoTools_INSTALL_PREFIX}/lib/cmake/GoLRsplines2D
)

# Install the generated config files
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/GoLRsplines2DConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/GoLRsplines2DConfigVersion.cmake"
DESTINATION lib/cmake/GoLRsplines2D
DESTINATION ${GoTools_INSTALL_PREFIX}/lib/cmake/GoLRsplines2D
)

SET(CPACK_STRIP_FILES ${CPACK_STRIP_FILES} libGoLRspline2D.so)
2 changes: 1 addition & 1 deletion sisl
Submodule sisl updated 1 files
+15 −33 CMakeLists.txt
Loading