File: OutputDirs.cmake

package info (click to toggle)
cmake 4.2.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 152,456 kB
  • sloc: ansic: 403,896; cpp: 303,920; sh: 4,105; python: 3,583; yacc: 3,106; lex: 1,279; f90: 538; asm: 471; lisp: 375; cs: 270; java: 266; fortran: 239; objc: 215; perl: 213; xml: 198; makefile: 111; javascript: 83; pascal: 63; tcl: 55; php: 25; ruby: 22
file content (27 lines) | stat: -rw-r--r-- 1,059 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
enable_language(C)

if(CMAKE_IMPORT_LIBRARY_SUFFIX)
  set(expect_dll 1)
else()
  set(expect_dll 0)
endif()

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/$<IF:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>,rtlib,rtbin>")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/$<IF:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,SHARED_LIBRARY>,sharedlib,others>")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/$<IF:$<STREQUAL:$<TARGET_PROPERTY:TYPE>,STATIC_LIBRARY>,staticlib,others>")

add_executable(exe_tgt main.c)
add_library(shared_tgt SHARED lib.c)
add_library(static_tgt STATIC lib.c)

add_custom_target(checkDirs ALL
  COMMAND ${CMAKE_COMMAND}
    -Dartifact_path=${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>
    -Dexe_name=$<TARGET_FILE_NAME:exe_tgt>
    -Dshared_name=$<TARGET_FILE_NAME:shared_tgt>
    -Dstatic_name=$<TARGET_FILE_NAME:static_tgt>
    -Dexpect_dll=${expect_dll}
    -P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
  )

add_dependencies(checkDirs exe_tgt shared_tgt static_tgt)