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 ...
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 !!!!