Skip to content

Commit

Permalink
Merge pull request shogun-toolbox#3613 from geektoni/patch-4
Browse files Browse the repository at this point in the history
CSharp meta examples only re-compile when dependencies change.
  • Loading branch information
karlnapf committed Feb 14, 2017
2 parents 65bc5a8 + 50614c7 commit ffb022d
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions examples/meta/csharp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,18 @@ FOREACH(META_EXAMPLE ${META_EXAMPLES})
# assume a structure <target_language>/<category>/listing.sg
GET_META_EXAMPLE_VARS(${META_EXAMPLE} EXAMPLE_NAME EXAMPLE_REL_DIR EXAMPLE_NAME_WITH_DIR)

ADD_CUSTOM_COMMAND(OUTPUT compiled_csharp_${EXAMPLE_NAME_WITH_DIR}
set(COMPILED_CSHARP_EXAMPLE ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE_REL_DIR}/${EXAMPLE_NAME}.exe)
set(CSHARP_META_EXAMPLE_SOURCE ${CMAKE_BINARY_DIR}/examples/meta/csharp/${EXAMPLE_REL_DIR}/${EXAMPLE_NAME}.cs)

ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE_REL_DIR}/${EXAMPLE_NAME}.exe
COMMAND ${CSHARP_COMPILER} ${EXAMPLE_NAME}.cs ${CSHARP_FLAGS} -out:${EXAMPLE_NAME}.exe
DEPENDS csharp_modular
DEPENDS csharp_modular shogun meta_examples ${CSHARP_META_EXAMPLE_SOURCE}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE_REL_DIR})
LIST(APPEND CSHARP_EXAMPLES compiled_csharp_${EXAMPLE_NAME_WITH_DIR})

ADD_CUSTOM_TARGET(csharp_${EXAMPLE_NAME} ALL
DEPENDS ${COMPILED_CSHARP_EXAMPLE})

LIST(APPEND CSHARP_EXAMPLES csharp_${EXAMPLE_NAME})

add_test(NAME generated_csharp-${EXAMPLE_NAME_WITH_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${EXAMPLE_REL_DIR}
Expand Down

0 comments on commit ffb022d

Please sign in to comment.