CMake How to check target for build

build, build-system, c++, cmake

Solution

I have found a solution:

add_custom_command(
        OUTPUT fidl_files_generated
        DEPENDS "./interfaces/*.fidl"
        COMMAND touch fidl_files_generated
        COMMAND /home/redra/Projects/Automotive/cgen/commonapi-generator/commonapi-generator-linux-x86_64 -sk ../interfaces/ *.fidl
        COMMAND /home/redra/Projects/Automotive/cgen/commonapi_dbus_generator/commonapi-dbus-generator-linux-x86_64 ../interfaces/ *.fidl
)

add_custom_target(fidl_gen
                  DEPENDS fidl_files_generated)

set(GENERATED_FILES "../cmake-build-debug/src-gen/v1/commonapi/HelloWorldDBusProxy.cpp"
                    "../cmake-build-debug/src-gen/v1/commonapi/HelloWorldDBusDeployment.cpp"
                    "../cmake-build-debug/src-gen/v1/commonapi/HelloWorldDBusStubAdapter.cpp"
                    "../cmake-build-debug/src-gen/v1/commonapi/HelloWorldStubDefault.cpp"
                    "../cmake-build-debug/src-gen/v1/commonapi/HelloWorldDBusDeployment.cpp")
set_source_files_properties(${GENERATED_FILES} PROPERTIES GENERATED TRUE)

add_executable(
        CommonAPI_Server
        ${SOURCE_FILES}
        ${GENERATED_FILES})
add_dependencies(CommonAPI_Server fidl_gen)

Thanks all for support !!

Special thanks to Angew for support and help !!!!

Problem

I have tried to find solution: How to check target for build ? Consider the following CMake script: ``` cmake_minimum_required(VERSION 3.5.1) project(cppTests) # How to check at this point the target of build if(TARGET "cppTests") message(STATUS "Target is cppTests") else() message(STATUS "Target is not cppTests") endif() message(STATUS "Target is ${TARGET}") set(CMAKE_CXX_STANDARD 11) set(SOURCE_FILES main.cpp) add_executable(cppTests ${SOURCE_FILES}) ``` Then I call the following: ``` /home/username/Software/clion-2017.1.1/bin/cmake/bin/cmake --build /home/username/Projects/cppTests/cmake-build-debug --target cppTests -- -j 8 ``` How can I check target cppTests in CMake script after --target options ? I am looking for something like MAKECMDGOALS in Makefiles. I have found any useful solution ...

Original source