@@ -7,7 +7,15 @@ cmake_minimum_required (VERSION 3.1)
7
7
include (ArionConfig)
8
8
9
9
project (${ARION_NAME} )
10
- set (CMAKE_CXX_STANDARD 14)
10
+
11
+ set (ARION_LIB_ALIAS Arion::Collision)
12
+
13
+ add_library (${PROJECT_NAME} "" )
14
+ add_library (${PROJECT_NAME} ::${PROJECT_NAME} ALIAS ${PROJECT_NAME} )
15
+ add_library (${ARION_LIB_ALIAS} ALIAS ${PROJECT_NAME} )
16
+
17
+ set_property (TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)
18
+
11
19
set (CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON )
12
20
13
21
if (NOT CMAKE_BUILD_TYPE )
@@ -25,10 +33,6 @@ if (NOT EPONA_FOUND)
25
33
endif ()
26
34
27
35
#Target
28
- include_directories (
29
- ${ARION_INCLUDE_DIR}
30
- )
31
-
32
36
message (STATUS "Version: ${ARION_VERSION} " )
33
37
34
38
set (ARION_HEADERS
@@ -67,25 +71,33 @@ if (MSVC)
67
71
)
68
72
endif ()
69
73
70
- add_library (${ARION_LIB}
71
- ${ARION_HEADERS}
72
- ${ARION_SOURCES}
74
+ target_sources (${PROJECT_NAME}
75
+ PRIVATE
76
+ ${ARION_HEADERS}
77
+ ${ARION_SOURCES}
73
78
)
74
79
75
- target_compile_definitions (${ARION_LIB} PUBLIC ${ARION_DEFINITIONS} )
80
+ target_compile_definitions (${PROJECT_NAME}
81
+ PUBLIC
82
+ ${ARION_DEFINITIONS}
83
+ )
76
84
77
- target_include_directories (${ARION_LIB} PUBLIC
78
- ${EPONA_INCLUDE_DIR}
85
+ target_include_directories (${PROJECT_NAME}
86
+ PUBLIC
87
+ ${ARION_INCLUDE_DIR}
79
88
)
80
89
81
90
set_target_properties (
82
- ${ARION_LIB }
91
+ ${PROJECT_NAME }
83
92
PROPERTIES
84
93
VERSION ${ARION_VERSION}
85
94
SOVERSION ${ARION_SOVERSION}
86
95
)
87
96
88
- target_link_libraries (${ARION_LIB} ${EPONA_LIB} )
97
+ target_link_libraries (${PROJECT_NAME}
98
+ PUBLIC
99
+ Epona::Math
100
+ )
89
101
90
102
install ( DIRECTORY ${GLM_INCLUDE_DIR} /glm
91
103
DESTINATION ${ARION_INSTALL_INCLUDE_DIR}
@@ -99,7 +111,7 @@ install( DIRECTORY ${GLM_INCLUDE_DIR}/glm
99
111
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
100
112
)
101
113
102
- install ( TARGETS ${ARION_LIB }
114
+ install ( TARGETS ${PROJECT_NAME }
103
115
COMPONENT arion_libraries
104
116
RUNTIME DESTINATION ${ARION_INSTALL_LIBRARY_DIR}
105
117
LIBRARY DESTINATION ${ARION_INSTALL_LIBRARY_DIR}
@@ -116,22 +128,27 @@ install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
116
128
include (CMakePackageConfigHelpers)
117
129
118
130
write_basic_package_version_file(
119
- ${CMAKE_CURRENT_BINARY_DIR} /ArionCollisionConfigVersion .cmake
131
+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion .cmake
120
132
VERSION ${ARION_VERSION}
121
133
COMPATIBILITY SameMajorVersion
122
134
)
123
135
124
136
configure_file (
125
- ${CMAKE_CURRENT_SOURCE_DIR} /ArionCollisionConfig .cmake.in
126
- ${CMAKE_CURRENT_BINARY_DIR} /ArionCollisionConfig .cmake
137
+ ${CMAKE_CURRENT_SOURCE_DIR} /${PROJECT_NAME} Config .cmake.in
138
+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config .cmake.gen
127
139
128
140
@ONLY
129
141
)
130
142
143
+ file (GENERATE
144
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config.cmake
145
+ INPUT ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config.cmake.gen
146
+ )
147
+
131
148
install (
132
149
FILES
133
- ${CMAKE_CURRENT_BINARY_DIR} /ArionCollisionConfig .cmake
134
- ${CMAKE_CURRENT_BINARY_DIR} /ArionCollisionConfigVersion .cmake
150
+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} Config .cmake
151
+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} ConfigVersion .cmake
135
152
DESTINATION ${ARION_INSTALL_LIBRARY_DIR}
136
153
COMPONENT arion_headers
137
154
)
0 commit comments