diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2016-07-19 05:44:02 +0200 | 
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-07-19 07:17:25 +0200 | 
| commit | ccb7f5167a07d5a886722f7d64d0f2b550a7a5a0 (patch) | |
| tree | c0994383b3c899c22a47b5d270c81111809b74bb /cmake | |
| parent | 8d2c70f000ca00c8ebc571467a383a03442282df (diff) | |
cmake: install source code as well
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/opentrack-boilerplate.cmake | 4 | ||||
| -rw-r--r-- | cmake/opentrack-hier.cmake | 76 | ||||
| -rw-r--r-- | cmake/opentrack-install.cmake | 2 | ||||
| -rw-r--r-- | cmake/opentrack-rift.cmake | 65 | 
4 files changed, 85 insertions, 62 deletions
| diff --git a/cmake/opentrack-boilerplate.cmake b/cmake/opentrack-boilerplate.cmake index 970d542d..3b2cadfe 100644 --- a/cmake/opentrack-boilerplate.cmake +++ b/cmake/opentrack-boilerplate.cmake @@ -1,5 +1,3 @@ -include(opentrack-hier) -  set(new-hier-path "#pragma once  #include <QCoreApplication>  #include <QString> @@ -68,6 +66,8 @@ function(opentrack_boilerplate__ n files_ no-library_ static_ no-compat_ compile              set(link-mode STATIC)          endif()          add_library(${n} ${link-mode} ${files_}) +        set(all-files ${${n}-c} ${${n}-res} ${${n}-ui} ${${n}-rc}) +        install(FILES ${all-files} DESTINATION "${opentrack-doc-src-pfx}/${n}")          message(STATUS "module ${n}")      endif()      if(NOT no-library_) diff --git a/cmake/opentrack-hier.cmake b/cmake/opentrack-hier.cmake index ee2d0bbf..a9c1ee1a 100644 --- a/cmake/opentrack-hier.cmake +++ b/cmake/opentrack-hier.cmake @@ -1,29 +1,51 @@ -if(APPLE)
 -    set(opentrack-hier-pfx ".")
 -    set(opentrack-hier-path "/")
 -    set(opentrack-hier-doc "/")
 -    set(opentrack-hier-str RUNTIME DESTINATION . LIBRARY DESTINATION .)
 -    set(opentrack-doc-pfx ".")
 -elseif(WIN32)
 -    set(opentrack-hier-pfx "./modules")
 -    set(opentrack-hier-path "/modules/")
 -    set(opentrack-hier-doc "/doc/")
 -    set(opentrack-doc-pfx "./doc")
 -    set(opentrack-hier-str RUNTIME DESTINATION ./modules/ LIBRARY DESTINATION ./modules/)
 -else()
 -    set(opentrack-hier-pfx "libexec/opentrack")
 -    set(opentrack-hier-path "/../libexec/opentrack/")
 -    set(opentrack-hier-doc "/share/doc/opentrack/")
 -    set(opentrack-doc-pfx "./share/doc/opentrack")
 -    set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${opentrack-hier-pfx}")
 -    set(opentrack-hier-str ARCHIVE DESTINATION lib/opentrack LIBRARY DESTINATION ${opentrack-hier-pfx} RUNTIME DESTINATION bin)
 -endif()
 +if(NOT opentrack-hier-included)
 +    set(opentrack-hier-included TRUE)
 -set(opentrack-contrib-pfx "${opentrack-doc-pfx}/contrib")
 +    if(APPLE)
 +        set(opentrack-hier-pfx ".")
 +        set(opentrack-hier-path "/")
 +        set(opentrack-hier-doc "/")
 +        set(opentrack-hier-str RUNTIME DESTINATION . LIBRARY DESTINATION .)
 +        set(opentrack-doc-pfx "./doc")
 +        set(opentrack-doc-src-pfx "./source-code")
 +    elseif(WIN32)
 +        set(opentrack-hier-pfx "./modules")
 +        set(opentrack-hier-path "/modules/")
 +        set(opentrack-hier-doc "/doc/")
 +        set(opentrack-doc-pfx "./doc")
 +        set(opentrack-doc-src-pfx "./source-code")
 +        set(opentrack-hier-str RUNTIME DESTINATION ./modules/ LIBRARY DESTINATION ./modules/)
 +    else()
 +        set(opentrack-hier-pfx "libexec/opentrack")
 +        set(opentrack-hier-path "/../libexec/opentrack/")
 +        set(opentrack-hier-doc "/share/doc/opentrack/")
 +        set(opentrack-doc-pfx "./share/doc/opentrack")
 +        set(opentrack-doc-src-pfx "./share/doc/opentrack/source-code")
 +        set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${opentrack-hier-pfx}")
 +        set(opentrack-hier-str ARCHIVE DESTINATION lib/opentrack LIBRARY DESTINATION ${opentrack-hier-pfx} RUNTIME DESTINATION bin)
 +    endif()
 -set(opentrack-binary-suffix "")
 -if(APPLE)
 -    set(opentrack-binary-suffix ".bin")
 -elseif(WIN32)
 -    set(opentrack-binary-suffix ".exe")
 -endif()
 +    function(opentrack_escape_string var str)
 +        string(REGEX REPLACE "([\$\\\"#])" "\\\\\\1" tmp__ "${str}")
 +            set(${var} "${tmp__}" PARENT_SCOPE)
 +    endfunction()
 +
 +    function(opentrack_setup_refresh_install_dir)
 +        if((NOT CMAKE_INSTALL_PREFIX STREQUAL "") AND (NOT opentrack-doc-src-pfx STREQUAL ""))
 +            opentrack_escape_string(dir "${CMAKE_INSTALL_PREFIX}/${opentrack-doc-src-pfx}/")
 +            install(CODE "file(REMOVE_RECURSE \"${dir}\")")
 +        endif()
 +    endfunction()
 +
 +    opentrack_setup_refresh_install_dir()
 +
 +    set(opentrack-contrib-pfx "${opentrack-doc-pfx}/contrib")
 +
 +    set(opentrack-binary-suffix "")
 +    if(APPLE)
 +        set(opentrack-binary-suffix ".bin")
 +    elseif(WIN32)
 +        set(opentrack-binary-suffix ".exe")
 +    endif()
 +
 +endif() # include guard
 diff --git a/cmake/opentrack-install.cmake b/cmake/opentrack-install.cmake index a8ab394c..ec3940fc 100644 --- a/cmake/opentrack-install.cmake +++ b/cmake/opentrack-install.cmake @@ -1,5 +1,3 @@ -include(opentrack-hier) -  set(opentrack-perms PERMISSIONS WORLD_READ WORLD_EXECUTE OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE)  if(WIN32) diff --git a/cmake/opentrack-rift.cmake b/cmake/opentrack-rift.cmake index ce2d8554..d4f8e8e1 100644 --- a/cmake/opentrack-rift.cmake +++ b/cmake/opentrack-rift.cmake @@ -1,32 +1,35 @@ -function(opentrack_rift_boilerplate proj opt) -    if(${opt}) -        set(link-flags) -        set(c-flags) -        if(APPLE) -            set(link-flags "-framework CoreFoundation -framework CoreGraphics -framework IOKit -framework Quartz") -            set(c-flags "-fno-strict-aliasing") -        elseif(NOT MSVC) -            set(c-flags "-fno-strict-aliasing") +if(NOT opentrack-rift-included) +    set(opentrack-rift-included TRUE) +    function(opentrack_rift_boilerplate proj opt) +        if(${opt}) +            set(link-flags) +            set(c-flags) +            if(APPLE) +                set(link-flags "-framework CoreFoundation -framework CoreGraphics -framework IOKit -framework Quartz") +                set(c-flags "-fno-strict-aliasing") +            elseif(NOT MSVC) +                set(c-flags "-fno-strict-aliasing") +            endif() +            opentrack_boilerplate(${proj} LINK ${link-flags} COMPILE ${c-flags}) +            set(proj ${proj}) +            target_include_directories(${proj} SYSTEM PUBLIC ${${opt}}/Include ${${opt}}/Src) +            set(c-flags) +            set(link-flags) +            if(MSVC) +                set(ext lib) +                set(p) +            else() +                set(ext a) +                set(p lib) +            endif() +            target_link_libraries(${proj} ${${opt}}/libLibOVR.${ext}) +            if(WIN32) +                target_link_libraries(${proj} winmm setupapi ws2_32 imagehlp wbemuuid) +                set(ext) +                set(p) +            elseif(NOT APPLE) +                target_link_libraries(${proj} udev Xinerama) +            endif()          endif() -        opentrack_boilerplate(${proj} LINK ${link-flags} COMPILE ${c-flags}) -        set(proj ${proj}) -        target_include_directories(${proj} SYSTEM PUBLIC ${${opt}}/Include ${${opt}}/Src) -        set(c-flags) -        set(link-flags) -        if(MSVC) -            set(ext lib) -            set(p) -        else() -            set(ext a) -            set(p lib) -        endif() -        target_link_libraries(${proj} ${${opt}}/libLibOVR.${ext}) -        if(WIN32) -            target_link_libraries(${proj} winmm setupapi ws2_32 imagehlp wbemuuid) -            set(ext) -            set(p) -        elseif(NOT APPLE) -            target_link_libraries(${proj} udev Xinerama) -        endif() -    endif() -endfunction() +    endfunction() +endif() | 
