Changeset: ec4bea00889b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ec4bea00889b
Modified Files:
        sql/backends/monet5/UDF/capi/CMakeLists.txt
Branch: cmake-fun
Log Message:

Don't use custom targets. They always execute regardless of the input's 
timestamp of modification.


diffs (31 lines):

diff --git a/sql/backends/monet5/UDF/capi/CMakeLists.txt 
b/sql/backends/monet5/UDF/capi/CMakeLists.txt
--- a/sql/backends/monet5/UDF/capi/CMakeLists.txt
+++ b/sql/backends/monet5/UDF/capi/CMakeLists.txt
@@ -27,19 +27,18 @@ if(NOT "${ENABLE_CINTEGRATION}" STREQUAL
                list(APPEND CAPI_LINK_LIBRARIES monetdb5 gdk)
        endif()
 
-       add_library(capi MODULE capi.c capi.h 
${CMAKE_CURRENT_SOURCE_DIR}/cheader.h
-                               ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h)
+       # Generate cheader.text.h file
+       exec_program("${Python3_EXECUTABLE}" ARGS 
"${CMAKE_CURRENT_SOURCE_DIR}/boot.py ${CMAKE_CURRENT_SOURCE_DIR}/cheader.h 
${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h"
+                                OUTPUT_VARIABLE CHEADER_OUTPUT RETURN_VALUE 
CHEADER_CODE)
+       if(NOT CHEADER_CODE EQUAL 0)
+               message(FATAL_ERROR "Could not generate cheader.text.h file")
+       endif()
+
+       add_library(capi MODULE capi.c capi.h cheader.h)
        target_link_libraries(capi PRIVATE ${CAPI_LINK_LIBRARIES})
        set_target_properties(capi PROPERTIES OUTPUT_NAME _capi)
        target_compile_definitions(capi PRIVATE LIBCUDF)
 
-       # Generate cheader.text.h file
-       add_custom_command(OUTPUT cheader COMMAND "${Python3_EXECUTABLE}" 
${CMAKE_CURRENT_SOURCE_DIR}/boot.py
-                                          
${CMAKE_CURRENT_SOURCE_DIR}/cheader.h ${CMAKE_CURRENT_BINARY_DIR}/cheader.text.h
-                                          BYPRODUCTS cheader.text.h)
-       add_custom_target(do_cheader DEPENDS cheader)
-       add_dependencies(capi do_cheader)
-
        install(TARGETS capi DESTINATION ${LIBDIR}/monetdb5)
        if(WIN32)
                install(FILES $<TARGET_PDB_FILE:capi> DESTINATION 
${LIBDIR}/monetdb5 OPTIONAL)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to