新增 命名空间和动态库控制宏
							parent
							
								
									8d4ed62b67
								
							
						
					
					
						commit
						be0e1e70bd
					
				| 
						 | 
				
			
			@ -8,6 +8,11 @@ set(MAIN_FILE
 | 
			
		|||
	${PLUMAGE_RENDER}/render.cpp
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
set(GLTF_MODEL_LOADER
 | 
			
		||||
	"${PLUMAGE_RENDER}/glTFBoundingBox.h"
 | 
			
		||||
	"${PLUMAGE_RENDER}/glTFBoundingBox.cpp"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# wayland requires additional source files
 | 
			
		||||
IF(USE_WAYLAND_WSI)
 | 
			
		||||
	SET(SOURCE ${SOURCE} ${CMAKE_BINARY_DIR}/xdg-shell-client-protocol.h ${CMAKE_BINARY_DIR}/xdg-shell-protocol.c )
 | 
			
		||||
| 
						 | 
				
			
			@ -37,6 +42,7 @@ include_directories(${lib_base_path})
 | 
			
		|||
if(WIN32)
 | 
			
		||||
	add_executable(${RenderName} WIN32   ${SHADERS_GLSL} ${SHADERS_HLSL} 
 | 
			
		||||
	${MAIN_FILE}
 | 
			
		||||
	${GLTF_MODEL_LOADER}
 | 
			
		||||
	"render/glTFModel.h" 
 | 
			
		||||
	"render/glTFModel.cpp" 
 | 
			
		||||
	"render/renderFoundation.h" 
 | 
			
		||||
| 
						 | 
				
			
			@ -51,6 +57,12 @@ if(RESOURCE_INSTALL_DIR)
 | 
			
		|||
endif()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#if(WIN32)
 | 
			
		||||
#   target_compile_definitions(MyLib PRIVATE MYLIB_EXPORTS)
 | 
			
		||||
#endif(UNIX AND NOT APPLE) # Linux及类似系统
 | 
			
		||||
#    add_compile_options(-fvisibility=hidden)
 | 
			
		||||
#    add_compile_options(-fvisibility-inlines-hidden)
 | 
			
		||||
#endif()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
/// 命名空间宏
 | 
			
		||||
#define GLTFLOADER_NAMESPACE_BEGIN namespace glTFLoader {
 | 
			
		||||
#define GLTFLOADER_NAMESPACE_END }
 | 
			
		||||
 | 
			
		||||
/// windows 导入导出宏,GLTFLOADER_EXPORTS将在cmake中定义
 | 
			
		||||
/// unix-like 下提供符号可见性控制
 | 
			
		||||
#ifdef GLTFLOADER_STATIC_BUILD
 | 
			
		||||
	#define GLTFLOADER_API
 | 
			
		||||
	#define GLTFLOADER_LOCAL
 | 
			
		||||
#else
 | 
			
		||||
	#ifdef _WIN32
 | 
			
		||||
		#ifdef GLTFLOADER_EXPORTS
 | 
			
		||||
			#define GLTFLOADER_API __declspec(dllexport)
 | 
			
		||||
			#define GLTFLOADER_LOCAL
 | 
			
		||||
		#else
 | 
			
		||||
			#define GLTFLOADER_API __declspec(dllimport)
 | 
			
		||||
			#define GLTFLOADER_LOCAL
 | 
			
		||||
		#endif
 | 
			
		||||
	#else
 | 
			
		||||
		#if __GNUC__ >= 4 || defined(__clang__)
 | 
			
		||||
			#define GLTFLOADER_API __attribute__ ((visibility ("default")))
 | 
			
		||||
			#define GLTFLOADER_LOCAL __attribute__ ((visibility ("hidden")))
 | 
			
		||||
		#else
 | 
			
		||||
			#define GLTFLOADER_API
 | 
			
		||||
			#define GLTFLOADER_LOCAL
 | 
			
		||||
		#endif
 | 
			
		||||
	#endif
 | 
			
		||||
#endif
 | 
			
		||||
		Loading…
	
		Reference in New Issue