cmake - primer - eliminar proyecto laravel
Cómo no hacer el paso de instalación cuando se construye un proyecto externo con cmake (2)
Estoy construyendo un proyecto de dependencia con el comando cmake ExternalProject_Add:
include(ExternalProject)
...
set(COMMON_BASE_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../CommonBase)
ExternalProject_Add(CommonBaseProject
SOURCE_DIR ${COMMON_BASE_PROJECT_DIR}
BINARY_DIR ${COMMON_BASE_PROJECT_DIR}/build
INSTALL_COMMMAND ""
)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
include_directories(${COMMON_BASE_PROJECT_DIR}/include)
add_library(
${LIBRARY_NAME}
SHARED
${SRC_FILES}
${INCLUDE_FILES}
)
target_link_libraries (Bios ${COMMON_BASE_PROJECT_DIR}/build/libCommonBase.dll)
add_dependencies(Bios CommonBaseProject)
pero me sale un error:
[100%] Linking CXX shared library libCommonBase.dll
[100%] Built target CommonBase
[ 50%] Performing install step for ''CommonBaseProject''
make[3]: *** No rule to make target ''install''. Stop.
No necesito hacer el paso de instalación, entonces mi pregunta es: ¿cómo desactivarlo?
Puede generar un objetivo para el paso de compilación con la STEP_TARGETS build
y agregar dependencia a este objetivo en particular. Los objetivos de paso se denominan <external-project-name>-<step-name>
por lo que en este caso el objetivo que representa el paso de creación se denominará CommonBaseProject-build
.
Probablemente también desee excluir CommonBaseProject del objetivo "all" con EXCLUDE_FROM_ALL TRUE
.
ExternalProject_Add(CommonBaseProject
SOURCE_DIR ${COMMON_BASE_PROJECT_DIR}
BINARY_DIR ${COMMON_BASE_PROJECT_DIR}/build
STEP_TARGETS build
EXCLUDE_FROM_ALL TRUE
)
add_dependencies(Bios CommonBaseProject-build)
Casi lo tienes: en lugar de INSTALL_COMMAND ""
poner algo así como
INSTALL_COMMAND cmake -E echo "Skipping install step."