Skip to content

Commit a872be8

Browse files
author
Maxim Cournoyer
committed
build: do not install C source files by default
A new INSTALL_C_SOURCE option is added guarding their installation, OFF by default.
1 parent 71cfd3b commit a872be8

File tree

2 files changed

+39
-39
lines changed

2 files changed

+39
-39
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ option(DEPENDENCIES_FORCE_BUILD "Force build libraries" OFF)
3737
option(BUILD_WITH_GRAPHVIZ "Generate dependency graphs" ON)
3838
option(VERSION_UPDATE_FROM_GIT "Extract version information from git tags. Default to true. Follow vX.Y.Z-suffix" TRUE)
3939

40+
option(INSTALL_C_SOURCE "Install the generated C source files to `pharo-vm'" OFF)
4041

4142
set(APPNAME "Pharo" CACHE STRING "VM Application name")
4243
set(FLAVOUR "CoInterpreter" CACHE STRING "The kind of VM to generate. Possible values: StackVM, CoInterpreter")

cmake/packaging.cmake

Lines changed: 38 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -30,53 +30,52 @@ install(
3030
COMPONENT include
3131
FILES_MATCHING PATTERN *.h)
3232

33-
install(DIRECTORY
34-
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
35-
"${CMAKE_CURRENT_SOURCE_DIR}/extracted"
36-
"${CMAKE_CURRENT_SOURCE_DIR}/include"
37-
"${CMAKE_CURRENT_SOURCE_DIR}/plugins"
38-
"${CMAKE_CURRENT_SOURCE_DIR}/resources"
39-
"${CMAKE_CURRENT_SOURCE_DIR}/scripts"
40-
"${CMAKE_CURRENT_SOURCE_DIR}/src"
41-
"${CMAKE_CURRENT_SOURCE_DIR}/ffiTestLibrary"
42-
"${CMAKE_CURRENT_SOURCE_DIR}/ffi"
43-
"${CMAKE_CURRENT_SOURCE_DIR}/tty"
44-
DESTINATION pharo-vm
45-
USE_SOURCE_PERMISSIONS
46-
COMPONENT c-src
47-
)
48-
49-
install(FILES
33+
if(INSTALL_C_SOURCE)
34+
install(DIRECTORY
35+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake"
36+
"${CMAKE_CURRENT_SOURCE_DIR}/extracted"
37+
"${CMAKE_CURRENT_SOURCE_DIR}/include"
38+
"${CMAKE_CURRENT_SOURCE_DIR}/plugins"
39+
"${CMAKE_CURRENT_SOURCE_DIR}/resources"
40+
"${CMAKE_CURRENT_SOURCE_DIR}/scripts"
41+
"${CMAKE_CURRENT_SOURCE_DIR}/src"
42+
"${CMAKE_CURRENT_SOURCE_DIR}/ffiTestLibrary"
43+
"${CMAKE_CURRENT_SOURCE_DIR}/ffi"
44+
"${CMAKE_CURRENT_SOURCE_DIR}/tty"
45+
DESTINATION pharo-vm
46+
USE_SOURCE_PERMISSIONS
47+
COMPONENT c-src)
48+
49+
install(FILES
5050
"${CMAKE_CURRENT_BINARY_DIR}/version.info"
5151
DESTINATION pharo-vm
5252
COMPONENT c-src)
5353

54+
install(FILES
55+
"CMakeLists.txt"
56+
${SUPPORT_CMAKE_FILES}
57+
DESTINATION pharo-vm
58+
COMPONENT c-src)
59+
60+
#Define generated files as elements in the c-src component for packaging
61+
install(
62+
DIRECTORY "${GENERATED_SOURCE_DIR}/generated/"
63+
DESTINATION pharo-vm/generated/
64+
USE_SOURCE_PERMISSIONS
65+
COMPONENT c-src)
66+
67+
install(
68+
DIRECTORY "${GENERATED_SOURCE_DIR}/generated/32/vm/include/"
69+
DESTINATION include/pharovm
70+
USE_SOURCE_PERMISSIONS
71+
COMPONENT include
72+
FILES_MATCHING PATTERN *.h)
73+
endif(INSTALL_C_SOURCE)
74+
5475
#List all cmake files
5576
file(GLOB SUPPORT_CMAKE_FILES
5677
"${CMAKE_CURRENT_SOURCE_DIR}/*.cmake"
5778
)
58-
59-
install(FILES
60-
"CMakeLists.txt"
61-
${SUPPORT_CMAKE_FILES}
62-
DESTINATION pharo-vm
63-
COMPONENT c-src
64-
)
65-
66-
#Define generated files as elements in the c-src component for packaging
67-
install(
68-
DIRECTORY "${GENERATED_SOURCE_DIR}/generated/"
69-
DESTINATION pharo-vm/generated/
70-
USE_SOURCE_PERMISSIONS
71-
COMPONENT c-src)
72-
73-
install(
74-
DIRECTORY "${GENERATED_SOURCE_DIR}/generated/32/vm/include/"
75-
DESTINATION include/pharovm
76-
USE_SOURCE_PERMISSIONS
77-
COMPONENT include
78-
FILES_MATCHING PATTERN *.h)
79-
8079
set(CPACK_PACKAGE_DESCRIPTION "${APPNAME} Headless VM for ${FULL_PLATFORM_NAME}")
8180
set(CPACK_PACKAGE_VENDOR "${APPNAME}")
8281
set(CPACK_PACKAGE_HOMEPAGE_URL "https://pharo.org")

0 commit comments

Comments
 (0)