Browse Source

ENH: add test for working directory of custom command and target

Bill Hoffman 20 years ago
parent
commit
7a3ed4644b

+ 24 - 0
Tests/CustomCommandWorkingDirectory/CMakeLists.txt

@@ -0,0 +1,24 @@
+PROJECT(TestWorkingDir)
+
+ADD_CUSTOM_COMMAND(
+  OUTPUT "${TestWorkingDir_BINARY_DIR}/working.c"
+  COMMAND "${CMAKE_COMMAND}" -E copy ./working.c "${TestWorkingDir_BINARY_DIR}/working.c"
+  WORKING_DIRECTORY "${TestWorkingDir_SOURCE_DIR}"
+  COMMENT "custom command"
+)
+
+SET_SOURCE_FILES_PROPERTIES(
+  "${TestWorkingDir_BINARY_DIR}/working.c" 
+  "${TestWorkingDir_BINARY_DIR}/customTarget.c" 
+  PROPERTIES GENERATED 1)
+
+ADD_EXECUTABLE(working "${TestWorkingDir_BINARY_DIR}/working.c" 
+  "${TestWorkingDir_BINARY_DIR}/customTarget.c")
+
+ADD_CUSTOM_TARGET(
+  Custom ALL
+  COMMAND "${CMAKE_COMMAND}" -E copy_if_different ./customTarget.c "${TestWorkingDir_BINARY_DIR}/customTarget.c"
+  WORKING_DIRECTORY  "${TestWorkingDir_SOURCE_DIR}"
+)
+
+ADD_DEPENDENCIES(working Custom)

+ 4 - 0
Tests/CustomCommandWorkingDirectory/customTarget.c

@@ -0,0 +1,4 @@
+int customTarget()
+{
+  return 0;
+}

+ 7 - 0
Tests/CustomCommandWorkingDirectory/working.c

@@ -0,0 +1,7 @@
+int customTarget();
+
+int main()
+{
+  return customTarget();
+}
+