Bläddra i källkod

cmake: Build deploy-stub

Donny Lawrence 5 år sedan
förälder
incheckning
29b178e07e
2 ändrade filer med 40 tillägg och 0 borttagningar
  1. 1 0
      pandatool/CMakeLists.txt
  2. 39 0
      pandatool/src/deploy-stub/CMakeLists.txt

+ 1 - 0
pandatool/CMakeLists.txt

@@ -8,6 +8,7 @@ add_subdirectory(src/bam)
 add_subdirectory(src/converter)
 add_subdirectory(src/converter)
 add_subdirectory(src/daeegg)
 add_subdirectory(src/daeegg)
 add_subdirectory(src/daeprogs)
 add_subdirectory(src/daeprogs)
+add_subdirectory(src/deploy-stub)
 add_subdirectory(src/dxf)
 add_subdirectory(src/dxf)
 add_subdirectory(src/dxfegg)
 add_subdirectory(src/dxfegg)
 add_subdirectory(src/dxfprogs)
 add_subdirectory(src/dxfprogs)

+ 39 - 0
pandatool/src/deploy-stub/CMakeLists.txt

@@ -0,0 +1,39 @@
+if(NOT HAVE_PYTHON)
+  return()
+endif()
+
+add_executable(deploy-stub deploy-stub.c)
+
+if(IS_OSX)
+  target_link_options(deploy-stub PRIVATE -sectcreate __PANDA __panda /dev/null)
+  set_target_properties(deploy-stub PROPERTIES
+    INSTALL_RPATH "@executable_path"
+    BUILD_WITH_INSTALL_RPATH ON)
+elseif(WIN32)
+  target_sources(deploy-stub frozen_dllmain.c)
+elseif(IS_LINUX OR IS_FREEBSD)
+  set_target_properties(deploy-stub PROPERTIES
+    INSTALL_RPATH "$ORIGIN"
+    BUILD_WITH_INSTALL_RPATH ON)
+endif()
+
+target_link_libraries(deploy-stub Python::Python)
+install(TARGETS deploy-stub)
+
+if(WIN32 OR IS_OSX)
+  add_executable(deploy-stubw deploy-stub.c)
+
+  if(IS_OSX)
+    target_link_options(deploy-stubw PRIVATE -sectcreate __PANDA __panda /dev/null)
+    set_target_properties(deploy-stubw PROPERTIES
+      INSTALL_RPATH "@executable_path/../Frameworks"
+      BUILD_WITH_INSTALL_RPATH ON)
+    target_compile_definitions(deploy-stubw PRIVATE MACOS_APP_BUNDLE=1)
+  elseif(WIN32)
+    target_sources(deploy-stubw frozen_dllmain.c)
+    set_property(TARGET deploy-stubw WIN32_EXECUTABLE)
+  endif()
+
+  target_link_libraries(deploy-stubw Python::Python)
+  install(TARGETS deploy-stubw)
+endif()