Changeset View
Changeset View
Standalone View
Standalone View
source/creator/CMakeLists.txt
| Show First 20 Lines • Show All 326 Lines • ▼ Show 20 Lines | else() | ||||
| set(TARGETDIR_VER share/blender/${BLENDER_VERSION}) | set(TARGETDIR_VER share/blender/${BLENDER_VERSION}) | ||||
| endif() | endif() | ||||
| endif() | endif() | ||||
| elseif(WIN32) | elseif(WIN32) | ||||
| set(TARGETDIR_VER ${BLENDER_VERSION}) | set(TARGETDIR_VER ${BLENDER_VERSION}) | ||||
| elseif(APPLE) | elseif(APPLE) | ||||
| if(WITH_PYTHON_MODULE) | if(WITH_PYTHON_MODULE) | ||||
campbellbarton: Would rather keep existing PATTERN's - and add REGEX as an extra argument/
Otherwise logic is… | |||||
| set(TARGETDIR_VER ${BLENDER_VERSION}) | set(TARGETDIR_VER ${BLENDER_VERSION}) | ||||
| else() | else() | ||||
| set(TARGETDIR_VER Blender.app/Contents/Resources/${BLENDER_VERSION}) | set(TARGETDIR_VER Blender.app/Contents/Resources/${BLENDER_VERSION}) | ||||
| endif() | endif() | ||||
| # Skip relinking on cpack / install | # Skip relinking on cpack / install | ||||
| set_target_properties(blender PROPERTIES BUILD_WITH_INSTALL_RPATH true) | set_target_properties(blender PROPERTIES BUILD_WITH_INSTALL_RPATH true) | ||||
| endif() | endif() | ||||
| # ----------------------------------------------------------------------------- | # ----------------------------------------------------------------------------- | ||||
| # Install Targets (Generic, All Platforms) | # Install Targets (Generic, All Platforms) | ||||
| # important to make a clean install each time, else old scripts get loaded. | # important to make a clean install each time, else old scripts get loaded. | ||||
| install( | install( | ||||
| CODE | CODE | ||||
| "file(REMOVE_RECURSE ${TARGETDIR_VER})" | "file(REMOVE_RECURSE ${TARGETDIR_VER})" | ||||
| ) | ) | ||||
| if(WITH_PYTHON) | if(WITH_PYTHON) | ||||
| # install(CODE "message(\"copying blender scripts...\")") | # install(CODE "message(\"copying blender scripts...\")") | ||||
| set(SCRIPTS_DIR ${CMAKE_SOURCE_DIR}/release/scripts) | |||||
| set(PATTERN_ADDONS_CONTRIB_DIR_EXCLUDE) | |||||
| set(PATTERN_FREESTYLE_DIR_EXCLUDE) | |||||
| set(PATTERN_CPYTHON_SOURCES_EXCLUDE) | |||||
| # exclude addons_contrib if release | # exclude addons_contrib if release | ||||
| if("${BLENDER_VERSION_CYCLE}" STREQUAL "release" OR | if("${BLENDER_VERSION_CYCLE}" STREQUAL "release" OR | ||||
| "${BLENDER_VERSION_CYCLE}" STREQUAL "rc") | "${BLENDER_VERSION_CYCLE}" STREQUAL "rc") | ||||
| set(ADDON_EXCLUDE_CONDITIONAL "addons_contrib/*") | list(APPEND PATTERN_ADDONS_CONTRIB_DIR_EXCLUDE PATTERN "addons_contrib/*" EXCLUDE) | ||||
| else() | else() | ||||
| set(ADDON_EXCLUDE_CONDITIONAL "_addons_contrib/*") # dummy, wont do anything | list(APPEND PATTERN_ADDONS_CONTRIB_DIR_EXCLUDE PATTERN "addons_contrib/CMakeLists.txt" EXCLUDE) | ||||
| endif() | endif() | ||||
| # do not install freestyle dir if disabled | # do not install freestyle dir if disabled | ||||
| if(NOT WITH_FREESTYLE) | if(NOT WITH_FREESTYLE) | ||||
| set(FREESTYLE_EXCLUDE_CONDITIONAL "freestyle/*") | list(APPEND PATTERN_FREESTYLE_DIR_EXCLUDE PATTERN "freestyle/*" EXCLUDE) | ||||
| else() | endif() | ||||
| set(FREESTYLE_EXCLUDE_CONDITIONAL "_freestyle/*") # dummy, wont do anything | |||||
| # TODO: Add CMakeLists.txt by default. | |||||
| if(EXISTS ${SCRIPTS_DIR}/addons/CMakeLists.txt) | |||||
| get_directory_property(subdir_list DIRECTORY ${SCRIPTS_DIR}/addons SUBDIRECTORIES) | |||||
| foreach(subdir ${subdir_list}) | |||||
| string(REPLACE "${SCRIPTS_DIR}/" "" subdir "${subdir}") | |||||
| list(APPEND PATTERN_CPYTHON_SOURCES_EXCLUDE PATTERN "${subdir}" EXCLUDE) | |||||
| endforeach() | |||||
| unset(subdir_list) | |||||
| endif() | endif() | ||||
| # TODO: Add CMakeLists.txt by default. | |||||
| if(EXISTS ${SCRIPTS_DIR}/addons_contrib/CMakeLists.txt) | |||||
| get_directory_property(subdir_list DIRECTORY ${SCRIPTS_DIR}/addons_contrib SUBDIRECTORIES) | |||||
| foreach(subdir ${subdir_list}) | |||||
| string(REPLACE "${SCRIPTS_DIR}/" "" subdir "${subdir}") | |||||
| list(APPEND PATTERN_CPYTHON_SOURCES_EXCLUDE PATTERN "${subdir}" EXCLUDE) | |||||
| endforeach() | |||||
| unset(subdir_list) | |||||
| endif() | |||||
| install( | |||||
| DIRECTORY ${SCRIPTS_DIR} | |||||
| DESTINATION ${TARGETDIR_VER} | |||||
| CONFIGURATIONS Debug | |||||
| PATTERN ".git" EXCLUDE | |||||
| PATTERN ".gitignore" EXCLUDE | |||||
| PATTERN ".arcconfig" EXCLUDE | |||||
| PATTERN "__pycache__" EXCLUDE | |||||
| PATTERN "*.ilk" EXCLUDE | |||||
| PATTERN "addons/CMakeLists.txt" EXCLUDE | |||||
| ${PATTERN_ADDONS_CONTRIB_DIR_EXCLUDE} | |||||
| ${PATTERN_FREESTYLE_DIR_EXCLUDE} | |||||
| ${PATTERN_CPYTHON_SOURCES_EXCLUDE} | |||||
| ) | |||||
| install( | install( | ||||
| DIRECTORY ${CMAKE_SOURCE_DIR}/release/scripts | DIRECTORY ${SCRIPTS_DIR} | ||||
| DESTINATION ${TARGETDIR_VER} | DESTINATION ${TARGETDIR_VER} | ||||
| CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel | |||||
| PATTERN ".git" EXCLUDE | PATTERN ".git" EXCLUDE | ||||
| PATTERN ".gitignore" EXCLUDE | PATTERN ".gitignore" EXCLUDE | ||||
| PATTERN ".arcconfig" EXCLUDE | PATTERN ".arcconfig" EXCLUDE | ||||
| PATTERN "__pycache__" EXCLUDE | PATTERN "__pycache__" EXCLUDE | ||||
| PATTERN "${ADDON_EXCLUDE_CONDITIONAL}" EXCLUDE | PATTERN "*.ilk" EXCLUDE | ||||
| PATTERN "${FREESTYLE_EXCLUDE_CONDITIONAL}" EXCLUDE | PATTERN "*.pdb" EXCLUDE | ||||
| PATTERN "*_d.*" EXCLUDE | |||||
| PATTERN "addons/CMakeLists.txt" EXCLUDE | |||||
| ${PATTERN_ADDONS_CONTRIB_DIR_EXCLUDE} | |||||
| ${PATTERN_FREESTYLE_DIR_EXCLUDE} | |||||
| ${PATTERN_CPYTHON_SOURCES_EXCLUDE} | |||||
| ) | ) | ||||
| unset(ADDON_EXCLUDE_CONDITIONAL) | unset(SCRIPTS_DIR) | ||||
| unset(FREESTYLE_EXCLUDE_CONDITIONAL) | unset(PATTERN_ADDONS_CONTRIB_DIR_EXCLUDE) | ||||
| unset(PATTERN_FREESTYLE_DIR_EXCLUDE) | |||||
| unset(PATTERN_CPYTHON_SOURCES_EXCLUDE) | |||||
| endif() | endif() | ||||
| # fonts | # fonts | ||||
| install( | install( | ||||
| DIRECTORY | DIRECTORY | ||||
| ${CMAKE_SOURCE_DIR}/release/datafiles/fonts | ${CMAKE_SOURCE_DIR}/release/datafiles/fonts | ||||
| DESTINATION ${TARGETDIR_VER}/datafiles | DESTINATION ${TARGETDIR_VER}/datafiles | ||||
| ) | ) | ||||
| ▲ Show 20 Lines • Show All 712 Lines • Show Last 20 Lines | |||||
Would rather keep existing PATTERN's - and add REGEX as an extra argument/
Otherwise logic is spread over different places.