141 lines
5.0 KiB
Diff
141 lines
5.0 KiB
Diff
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||
|
index 2bbb283..2f7eb52 100644
|
||
|
--- a/src/CMakeLists.txt
|
||
|
+++ b/src/CMakeLists.txt
|
||
|
@@ -1,12 +1 @@
|
||
|
-cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)
|
||
|
-project(VHACD)
|
||
|
-option(NO_OPENCL "NO_OPENCL" OFF)
|
||
|
-option(NO_OPENMP "NO_OPENMP" OFF)
|
||
|
-
|
||
|
-message("NO_OPENCL " ${NO_OPENCL})
|
||
|
-message("NO_OPENMP " ${NO_OPENMP})
|
||
|
-
|
||
|
-#set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/output" CACHE PATH "project install prefix" FORCE)
|
||
|
-set(CMAKE_COMMON_INC "${CMAKE_SOURCE_DIR}/../scripts/cmake_common.cmake")
|
||
|
-add_subdirectory ("${CMAKE_SOURCE_DIR}/VHACD_Lib")
|
||
|
-add_subdirectory ("${CMAKE_SOURCE_DIR}/test")
|
||
|
+add_subdirectory ("${CMAKE_CURRENT_SOURCE_DIR}/VHACD_Lib")
|
||
|
\ No newline at end of file
|
||
|
diff --git a/src/VHACD_Lib/CMakeLists.txt b/src/VHACD_Lib/CMakeLists.txt
|
||
|
index 46fc1b1..2260fdc 100644
|
||
|
--- a/src/VHACD_Lib/CMakeLists.txt
|
||
|
+++ b/src/VHACD_Lib/CMakeLists.txt
|
||
|
@@ -1,77 +1,79 @@
|
||
|
+cmake_minimum_required(VERSION 3.10.0)
|
||
|
+
|
||
|
project(VHACD_LIB CXX C)
|
||
|
-include(${CMAKE_COMMON_INC})
|
||
|
+include("${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/cmake_common.cmake")
|
||
|
+
|
||
|
+set(CMAKE_CXX_STANDARD 11)
|
||
|
|
||
|
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||
|
+set(LIB_TYPE "STATIC" CACHE STRING "STATIC, SHARED or MODULE?")
|
||
|
+message("[VHACD] \t LIB_TYPE " ${LIB_TYPE})
|
||
|
+add_library(vhacd ${LIB_TYPE} ${PROJECT_CPP_FILES} ${PROJECT_C_FILES} ${PROJECT_INC_FILES} ${PROJECT_INL_FILES} ${PROJECT_CL_FILES})
|
||
|
|
||
|
if (NOT NO_OPENCL)
|
||
|
#include(FindOpenCL OPTIONAL)
|
||
|
- find_package(OpenCL)
|
||
|
+ find_package(OpenCL REQUIRED)
|
||
|
endif()
|
||
|
if (NOT NO_OPENMP)
|
||
|
#include(FindOpenMP OPTIONAL)
|
||
|
- find_package(OpenMP)
|
||
|
+ find_package(OpenMP REQUIRED)
|
||
|
endif()
|
||
|
if(OPENMP_FOUND)
|
||
|
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||
|
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
|
||
|
+ target_link_libraries(vhacd PRIVATE OpenMP::OpenMP_CXX)
|
||
|
endif()
|
||
|
-set(LIB_TYPE "STATIC" CACHE STRING "STATIC, SHARED or MODULE?")
|
||
|
-message("[VHACD] \t LIB_TYPE " ${LIB_TYPE})
|
||
|
-add_library(vhacd ${LIB_TYPE} ${PROJECT_CPP_FILES} ${PROJECT_C_FILES} ${PROJECT_INC_FILES} ${PROJECT_INL_FILES} ${PROJECT_CL_FILES})
|
||
|
|
||
|
if (OpenCL_FOUND)
|
||
|
- target_include_directories(vhacd PRIVATE "${OpenCL_INCLUDE_DIR}")
|
||
|
- target_link_libraries(vhacd PRIVATE "${OpenCL_LIBRARY}")
|
||
|
+ target_link_libraries(vhacd PRIVATE OpenCL::OpenCL)
|
||
|
target_compile_definitions(vhacd PRIVATE -DOPENCL_FOUND=1 )
|
||
|
target_compile_definitions(vhacd PRIVATE -DOPENCL_CL_FILES="${PROJECT_CL_FILES}" )
|
||
|
endif()
|
||
|
|
||
|
-
|
||
|
target_include_directories(vhacd PUBLIC
|
||
|
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/public/>
|
||
|
+ $<INSTALL_INTERFACE:include>)
|
||
|
+
|
||
|
+target_include_directories(vhacd PRIVATE
|
||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc/>
|
||
|
- $<INSTALL_INTERFACE:include/> # <prefix>/include/mylib
|
||
|
)
|
||
|
|
||
|
|
||
|
message("[VHACD] \t -> CMAKE_INSTALL_PREFIX " ${CMAKE_INSTALL_PREFIX})
|
||
|
install(TARGETS vhacd EXPORT vhacd-targets DESTINATION lib)
|
||
|
-install(FILES ${PROJECT_INC_FILES} DESTINATION include)
|
||
|
-install(FILES ${PROJECT_INL_FILES} DESTINATION include)
|
||
|
+install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/public/VHACD.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/)
|
||
|
+
|
||
|
|
||
|
|
||
|
set(VHACD_LIB_VERSION 3.2.0)
|
||
|
include(CMakePackageConfigHelpers)
|
||
|
write_basic_package_version_file(
|
||
|
- "${CMAKE_CURRENT_BINARY_DIR}/vhacd/vhacd-config-version.cmake"
|
||
|
+ "${CMAKE_CURRENT_BINARY_DIR}/vhacd/v-hacd-config-version.cmake"
|
||
|
VERSION ${VHACD_LIB_VERSION}
|
||
|
COMPATIBILITY AnyNewerVersion
|
||
|
)
|
||
|
|
||
|
-export(EXPORT vhacd-targets NAMESPACE ::
|
||
|
- FILE "${CMAKE_CURRENT_BINARY_DIR}/vhacd/vhacd-targets.cmake"
|
||
|
+export(EXPORT vhacd-targets NAMESPACE vhacd::
|
||
|
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/vhacd/v-hacd-targets.cmake"
|
||
|
)
|
||
|
|
||
|
configure_file(cmake/vhacd-config.cmake
|
||
|
- "${CMAKE_CURRENT_BINARY_DIR}/vhacd/vhacd-config.cmake"
|
||
|
+ "${CMAKE_CURRENT_BINARY_DIR}/vhacd/v-hacd-config.cmake"
|
||
|
COPYONLY
|
||
|
)
|
||
|
|
||
|
set(ConfigPackageLocation lib/cmake/vhacd)
|
||
|
install(EXPORT vhacd-targets
|
||
|
FILE
|
||
|
- vhacd-targets.cmake
|
||
|
+ v-hacd-targets.cmake
|
||
|
DESTINATION
|
||
|
${ConfigPackageLocation}
|
||
|
- NAMESPACE ::
|
||
|
+ NAMESPACE vhacd::
|
||
|
)
|
||
|
install(
|
||
|
FILES
|
||
|
- "${CMAKE_CURRENT_BINARY_DIR}/vhacd/vhacd-config.cmake"
|
||
|
- "${CMAKE_CURRENT_BINARY_DIR}/vhacd/vhacd-config-version.cmake"
|
||
|
+ "${CMAKE_CURRENT_BINARY_DIR}/vhacd/v-hacd-config.cmake"
|
||
|
+ "${CMAKE_CURRENT_BINARY_DIR}/vhacd/v-hacd-config-version.cmake"
|
||
|
DESTINATION
|
||
|
${ConfigPackageLocation}
|
||
|
COMPONENT
|
||
|
Devel
|
||
|
)
|
||
|
|
||
|
|
||
|
diff --git a/src/VHACD_Lib/cmake/vhacd-config.cmake b/src/VHACD_Lib/cmake/vhacd-config.cmake
|
||
|
index 8fc5c58..7677f58 100644
|
||
|
--- a/src/VHACD_Lib/cmake/vhacd-config.cmake
|
||
|
+++ b/src/VHACD_Lib/cmake/vhacd-config.cmake
|
||
|
@@ -1,4 +1,4 @@
|
||
|
|
||
|
find_package(OpenCL)
|
||
|
find_package(OpenMP)
|
||
|
-include("${CMAKE_CURRENT_LIST_DIR}/vhacd-targets.cmake")
|
||
|
\ No newline at end of file
|
||
|
+include("${CMAKE_CURRENT_LIST_DIR}/v-hacd-targets.cmake")
|
||
|
\ No newline at end of file
|