Skip to content

Commit bba63ab

Browse files
committed
Removed installation from all libraries and headers except from metacall that still contains headers. Moved metacall library install to distributable (using same name for debug & release). Updated CMake script for finding metacall.
1 parent 4cc45d4 commit bba63ab

31 files changed

Lines changed: 734 additions & 556 deletions

File tree

CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,10 @@ add_subdirectory(deploy)
191191
#
192192

193193
set(PROJECT_CONFIGURATION "metacall-config.cmake")
194-
configure_file("${PROJECT_CONFIGURATION}.in" "${PROJECT_BINARY_DIR}/${PROJECT_CONFIGURATION}" @ONLY)
194+
195+
set(PROJECT_CONFIGURATION_PATH "${PROJECT_BINARY_DIR}/${PROJECT_CONFIGURATION}")
196+
197+
configure_file("${PROJECT_CONFIGURATION}.in" "${PROJECT_CONFIGURATION_PATH}" @ONLY)
195198

196199
#
197200
# Deployment (global project files)
@@ -201,7 +204,7 @@ configure_file("${PROJECT_CONFIGURATION}.in" "${PROJECT_BINARY_DIR}/${PROJECT_CO
201204
install(FILES "${PROJECT_BINARY_DIR}/VERSION" DESTINATION ${INSTALL_ROOT} COMPONENT runtime)
202205

203206
# Install cmake find script for the project
204-
install(FILES ${META_PROJECT_NAME}-config.cmake DESTINATION ${INSTALL_ROOT} COMPONENT dev)
207+
install(FILES ${PROJECT_CONFIGURATION_PATH} DESTINATION ${INSTALL_ROOT} COMPONENT dev)
205208

206209
# Install the project meta files
207210
install(FILES AUTHORS DESTINATION ${INSTALL_ROOT} COMPONENT runtime)

source/adt/CMakeLists.txt

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -195,34 +195,3 @@ target_link_libraries(${target}
195195

196196
INTERFACE
197197
)
198-
199-
#
200-
# Deployment
201-
#
202-
203-
# Library
204-
install(TARGETS ${target}
205-
EXPORT "${target}-export" COMPONENT dev
206-
RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT runtime
207-
LIBRARY DESTINATION ${INSTALL_SHARED} COMPONENT runtime
208-
ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT dev
209-
)
210-
211-
# Header files
212-
install(DIRECTORY
213-
${CMAKE_CURRENT_SOURCE_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
214-
COMPONENT dev
215-
)
216-
217-
# Generated header files
218-
install(DIRECTORY
219-
${CMAKE_CURRENT_BINARY_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
220-
COMPONENT dev
221-
)
222-
223-
# CMake config
224-
install(EXPORT ${target}-export
225-
NAMESPACE ${META_PROJECT_NAME}::
226-
DESTINATION ${INSTALL_CMAKE}/${target}
227-
COMPONENT dev
228-
)

source/cmake/FindMetaCall.cmake

Lines changed: 6 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -18,154 +18,18 @@ endif()
1818
# Optional root directory
1919
set(METACALL_ROOT_DIR "$ENV{WORKSPACE_ROOT}/metacall")
2020

21-
# MetaCall Version include path
22-
#find_path(METACALL_VERSION_INCLUDE_DIR
23-
# NAMES version/version.h
24-
# PATHS ${METACALL_ROOT_DIR}
25-
# DOC "MetaCall Version include directory"
26-
#)
27-
28-
# MetaCall Version library path
29-
find_library(METACALL_VERSION_LIBRARY
30-
NAMES version
31-
PATHS ${METACALL_ROOT_DIR}
32-
DOC "MetaCall Version library"
33-
)
34-
35-
# MetaCall Preprocessor include path
36-
find_path(METACALL_PREPROCESSOR_INCLUDE_DIR
37-
NAMES preprocessor/preprocessor.h
38-
PATHS ${METACALL_ROOT_DIR}
39-
DOC "MetaCall Preprocessor include directory"
40-
)
41-
42-
# MetaCall Preprocessor library path
43-
find_library(METACALL_PREPROCESSOR_LIBRARY
44-
NAMES preprocessor
45-
PATHS ${METACALL_ROOT_DIR}
46-
DOC "MetaCall Preprocessor library"
47-
)
48-
49-
# MetaCall Format include path
50-
find_path(METACALL_FORMAT_INCLUDE_DIR
51-
NAMES format/format.h
52-
PATHS ${METACALL_ROOT_DIR}
53-
DOC "MetaCall Format include directory"
54-
)
55-
56-
# MetaCall Format library path
57-
find_library(METACALL_FORMAT_LIBRARY
58-
NAMES format
59-
PATHS ${METACALL_ROOT_DIR}
60-
DOC "MetaCall Format library"
61-
)
62-
63-
# MetaCall Log include path
64-
find_path(METACALL_LOG_INCLUDE_DIR
65-
NAMES log/log.h
66-
PATHS ${METACALL_ROOT_DIR}
67-
DOC "MetaCall Log include directory"
68-
)
69-
70-
# MetaCall Log library path
71-
find_library(METACALL_LOG_LIBRARY
72-
NAMES log
73-
PATHS ${METACALL_ROOT_DIR}
74-
DOC "MetaCall Log library"
75-
)
76-
77-
# MetaCall ADT include path
78-
find_path(METACALL_ADT_INCLUDE_DIR
79-
NAMES adt/adt.h
80-
PATHS ${METACALL_ROOT_DIR}
81-
DOC "MetaCall ADT include directory"
82-
)
83-
84-
# MetaCall ADT library path
85-
find_library(METACALL_ADT_LIBRARY
86-
NAMES adt
87-
PATHS ${METACALL_ROOT_DIR}
88-
DOC "MetaCall ADT library"
89-
)
90-
91-
# MetaCall Dynlink include path
92-
find_path(METACALL_DYNLINK_INCLUDE_DIR
93-
NAMES dynlink/dynlink.h
94-
PATHS ${METACALL_ROOT_DIR}
95-
DOC "MetaCall Dynlink include directory"
96-
)
97-
98-
# MetaCall DynLink library path
99-
find_library(METACALL_DYNLINK_LIBRARY
100-
NAMES dynlink
101-
PATHS ${METACALL_ROOT_DIR}
102-
DOC "MetaCall DynLink library"
103-
)
104-
105-
# MetaCall Reflect include path
106-
find_path(METACALL_REFLECT_INCLUDE_DIR
107-
NAMES reflect/reflect.h
108-
PATHS ${METACALL_ROOT_DIR}
109-
DOC "MetaCall Reflect include directory"
110-
)
111-
112-
# MetaCall Reflect library path
113-
find_library(METACALL_REFLECT_LIBRARY
114-
NAMES reflect
115-
PATHS ${METACALL_ROOT_DIR}
116-
DOC "MetaCall Reflect library"
117-
)
118-
119-
# MetaCall Loader include path
120-
find_path(METACALL_LOADER_INCLUDE_DIR
121-
NAMES loader/loader.h
122-
PATHS ${METACALL_ROOT_DIR}
123-
DOC "MetaCall Loader include directory"
124-
)
125-
126-
# MetaCall Loader library path
127-
find_library(METACALL_LOADER_LIBRARY
128-
NAMES loader
129-
PATHS ${METACALL_ROOT_DIR}
130-
DOC "MetaCall Loader library"
131-
)
132-
133-
# MetaCall Core include path
134-
find_path(METACALL_CORE_INCLUDE_DIR
21+
# MetaCall include path
22+
find_path(METACALL_INCLUDE_DIR
13523
NAMES metacall/metacall.h
13624
PATHS ${METACALL_ROOT_DIR}
137-
DOC "MetaCall Core include directory"
25+
DOC "MetaCall include directory"
13826
)
13927

140-
# MetaCall Core library path
141-
find_library(METACALL_CORE_LIBRARY
28+
# MetaCall library path
29+
find_library(METACALL_LIBRARY
14230
NAMES metacall
14331
PATHS ${METACALL_ROOT_DIR}
144-
DOC "MetaCall Core library"
145-
)
146-
147-
set(METACALL_INCLUDE_DIR
148-
#${METACALL_VERSION_INCLUDE_DIR}
149-
${METACALL_PREPROCESSOR_INCLUDE_DIR}
150-
${METACALL_FORMAT_INCLUDE_DIR}
151-
${METACALL_LOG_INCLUDE_DIR}
152-
${METACALL_ADT_INCLUDE_DIR}
153-
${METACALL_DYNLINK_INCLUDE_DIR}
154-
${METACALL_REFLECT_INCLUDE_DIR}
155-
${METACALL_LOADER_INCLUDE_DIR}
156-
${METACALL_CORE_INCLUDE_DIR}
157-
)
158-
159-
set(METACALL_LIBRARY
160-
${METACALL_VERSION_LIBRARY}
161-
${METACALL_PREPROCESSOR_LIBRARY}
162-
${METACALL_FORMAT_LIBRARY}
163-
${METACALL_LOG_LIBRARY}
164-
${METACALL_ADT_LIBRARY}
165-
${METACALL_DYNLINK_LIBRARY}
166-
${METACALL_REFLECT_LIBRARY}
167-
${METACALL_LOADER_LIBRARY}
168-
${METACALL_CORE_LIBRARY}
32+
DOC "MetaCall library"
16933
)
17034

17135
# Find package

source/configs/rapid_json_config/CMakeLists.txt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,3 @@ install(DIRECTORY
226226
${CMAKE_CURRENT_BINARY_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
227227
COMPONENT dev
228228
)
229-
230-
# CMake config
231-
install(EXPORT ${target}-export
232-
NAMESPACE ${META_PROJECT_NAME}::
233-
DESTINATION ${INSTALL_CMAKE}/${target}
234-
COMPONENT dev
235-
)
236-

source/configuration/CMakeLists.txt

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -192,35 +192,3 @@ target_link_libraries(${target}
192192

193193
INTERFACE
194194
)
195-
196-
#
197-
# Deployment
198-
#
199-
200-
# Library
201-
install(TARGETS ${target}
202-
EXPORT "${target}-export" COMPONENT dev
203-
RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT runtime
204-
LIBRARY DESTINATION ${INSTALL_SHARED} COMPONENT runtime
205-
ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT dev
206-
)
207-
208-
# Header files
209-
install(DIRECTORY
210-
${CMAKE_CURRENT_SOURCE_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
211-
COMPONENT dev
212-
)
213-
214-
# Generated header files
215-
install(DIRECTORY
216-
${CMAKE_CURRENT_BINARY_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
217-
COMPONENT dev
218-
)
219-
220-
# CMake config
221-
install(EXPORT ${target}-export
222-
NAMESPACE ${META_PROJECT_NAME}::
223-
DESTINATION ${INSTALL_CMAKE}/${target}
224-
COMPONENT dev
225-
)
226-

source/distributable/CMakeLists.txt

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
# Target name
1212
set(target metacall_distributable)
1313

14+
# Library name
15+
set(target_root "metacall")
16+
1417
# Exit here if required dependencies are not met
1518
message(STATUS "Distributable ${target}")
1619

@@ -48,7 +51,7 @@ function(generate_unity_build unity_build_file)
4851
)
4952

5053
# Add private linkage for all targets except metacall
51-
if(NOT "${target}" STREQUAL "metacall")
54+
if(NOT "${target}" STREQUAL "${target_root}")
5255
string(TOUPPER ${target} target_upper)
5356
set(unity_build_source "${unity_build_source}\n\#ifndef ${target_upper}_API")
5457

@@ -87,7 +90,7 @@ function(generate_unity_build unity_build_file)
8790
endfunction()
8891

8992
# Create unity build library
90-
set(metacall_unity_build "${CMAKE_CURRENT_BINARY_DIR}/metacall_unity_build.c")
93+
set(metacall_unity_build "${CMAKE_CURRENT_BINARY_DIR}/${target_root}_unity_build.c")
9194

9295
generate_unity_build(${metacall_unity_build}
9396
${MODULE_NAMES}
@@ -118,7 +121,7 @@ set_target_properties(${target}
118121
${DEFAULT_PROJECT_OPTIONS}
119122
FOLDER "${IDE_FOLDER}"
120123
DEBUG_POSTFIX ""
121-
OUTPUT_NAME "metacall"
124+
OUTPUT_NAME "${target_root}"
122125
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/distributable"
123126
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/distributable"
124127
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/distributable"
@@ -202,27 +205,8 @@ target_link_libraries(${target}
202205

203206
# Library
204207
install(TARGETS ${target}
205-
EXPORT "${target}-export" COMPONENT dev
208+
EXPORT "${target_root}-export" COMPONENT dev
206209
RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT runtime
207210
LIBRARY DESTINATION ${INSTALL_SHARED} COMPONENT runtime
208211
ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT dev
209212
)
210-
211-
# Header files
212-
install(DIRECTORY
213-
${CMAKE_CURRENT_SOURCE_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
214-
COMPONENT dev
215-
)
216-
217-
# Generated header files
218-
install(DIRECTORY
219-
${CMAKE_CURRENT_BINARY_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
220-
COMPONENT dev
221-
)
222-
223-
# CMake config
224-
install(EXPORT ${target}-export
225-
NAMESPACE ${META_PROJECT_NAME}::
226-
DESTINATION ${INSTALL_CMAKE}/${target}
227-
COMPONENT dev
228-
)

source/dynlink/CMakeLists.txt

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -214,35 +214,3 @@ target_link_libraries(${target}
214214

215215
INTERFACE
216216
)
217-
218-
#
219-
# Deployment
220-
#
221-
222-
# Library
223-
install(TARGETS ${target}
224-
EXPORT "${target}-export" COMPONENT dev
225-
RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT runtime
226-
LIBRARY DESTINATION ${INSTALL_SHARED} COMPONENT runtime
227-
ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT dev
228-
)
229-
230-
# Header files
231-
install(DIRECTORY
232-
${CMAKE_CURRENT_SOURCE_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
233-
COMPONENT dev
234-
)
235-
236-
# Generated header files
237-
install(DIRECTORY
238-
${CMAKE_CURRENT_BINARY_DIR}/include/${target} DESTINATION ${INSTALL_INCLUDE}
239-
COMPONENT dev
240-
)
241-
242-
# CMake config
243-
install(EXPORT ${target}-export
244-
NAMESPACE ${META_PROJECT_NAME}::
245-
DESTINATION ${INSTALL_CMAKE}/${target}
246-
COMPONENT dev
247-
)
248-

source/examples/metacallquine/main.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ int main(int argc, char * argv[])
2323
" print('Python:', script);\n"
2424
" return 4;\n";
2525

26-
value result;
26+
void * result;
2727

2828
(void)argc;
2929
(void)argv;
@@ -40,12 +40,12 @@ int main(int argc, char * argv[])
4040

4141
result = metacall("py_quine", "hello");
4242

43-
if (value_to_int(result) != 4)
43+
if (metacall_value_to_int(result) != 4)
4444
{
4545
return 1;
4646
}
4747

48-
value_destroy(result);
48+
metacall_value_destroy(result);
4949

5050
return 0;
5151
}

0 commit comments

Comments
 (0)