Genesis Commit
This commit is contained in:
53
CMakeLists.txt
Normal file
53
CMakeLists.txt
Normal file
@@ -0,0 +1,53 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(ChargeShaders VERSION 1.0)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
|
||||
set(CMAKE_MODULE_PATH "modules/" ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address")
|
||||
endif()
|
||||
|
||||
find_package(Corrade REQUIRED Main)
|
||||
find_package(Magnum REQUIRED GL)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
add_library(ChargeShaders SHARED "src/ChargeShaders.hpp")
|
||||
|
||||
target_link_libraries(ChargeShaders PRIVATE Corrade::Main Magnum::Magnum
|
||||
Magnum::GL)
|
||||
|
||||
target_include_directories(
|
||||
ChargeShaders
|
||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib>
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
|
||||
# Library
|
||||
install(
|
||||
TARGETS ChargeShaders
|
||||
EXPORT ChargeShadersTargets
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
RUNTIME DESTINATION bin)
|
||||
|
||||
# include
|
||||
install(FILES src/ChargeShaders.hpp DESTINATION include/Charge)
|
||||
|
||||
install(
|
||||
EXPORT ChargeShadersTargets
|
||||
FILE ChargeShadersTargets.cmake
|
||||
NAMESPACE ChargeShaders::
|
||||
DESTINATION lib/cmake/ChargeShaders)
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
configure_package_config_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ChargeShadersConfig.cmake.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/ChargeShadersConfig.cmake"
|
||||
INSTALL_DESTINATION lib/cmake/ChargeShaders)
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ChargeShadersConfig.cmake"
|
||||
DESTINATION lib/cmake/ChargeShaders)
|
Reference in New Issue
Block a user