Bläddra i källkod

Build Lua bindings for UI module

mcc 13 år sedan
förälder
incheckning
2144c55202

+ 2 - 1
Bindings/Scripts/create_lua_library/CMakeLists.txt

@@ -10,7 +10,8 @@ ADD_CUSTOM_COMMAND(
 OUTPUT luaGenerateCmd
 COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Core/Contents/Include Polycode Polycode.h polycore Polycore ../../Contents/LUA/API ../../Contents/LUA/API/Polycode ../../Contents/LUA/Include ../../Contents/LUA/Source
 COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/2DPhysics/Include/ Physics2D Polycode2DPhysics.h physics2d Physics2D ../../../Modules/Bindings/2DPhysics/API ../../../Modules/Bindings/2DPhysics/API/Physics2D ../../../Modules/Bindings/2DPhysics/Include ../../../Modules/Bindings/2DPhysics/Source
-COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/3DPhysics/Include/ Physics3D Polycode3DPhysics.h physics3d Physics3D ../../../Modules/Bindings/3DPhysics/API ../../../Modules/Bindings/3DPhysics/API/Physics3D ../../../Modules/Bindings/3DPhysics/Include ../../../Modules/Bindings/3DPhysics/Source
+COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/3DPhysics/Include/ Physics3D Polycode3DPhysics.h physics3d Physics3D ../../../Modules/Bindings/3DPhysics/API ../../../Modules/Bindings/3DPhysics/API/Physics3D ../../../Modules/Bindings/3DPhysics/Include ../../../Modules/Bindings/3DPhysics/Source 
+COMMAND ${PYTHON_EXECUTABLE} create_lua_library.py ../../../Modules/Contents/UI/Include/ UI PolycodeUI.h UI UI ../../../Modules/Bindings/UI/API ../../../Modules/Bindings/UI/API/UI ../../../Modules/Bindings/UI/Include ../../../Modules/Bindings/UI/Source
 WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
 )
 

+ 1 - 0
Modules/Bindings/CMakeLists.txt

@@ -1,2 +1,3 @@
 ADD_SUBDIRECTORY(2DPhysics)
 ADD_SUBDIRECTORY(3DPhysics)
+ADD_SUBDIRECTORY(UI)

+ 141 - 0
Modules/Bindings/UI/CMakeLists.txt

@@ -0,0 +1,141 @@
+INCLUDE(PolycodeIncludes)
+
+INCLUDE_DIRECTORIES(
+    ${LUA_INCLUDE_DIR}
+    ${Polycode_SOURCE_DIR}/Modules/Contents/UI/Include
+    Include
+    ../../Contents/UI/Include
+)
+
+SET(polycodeUI_SRCS
+    ${CMAKE_CURRENT_SOURCE_DIR}/Source/UILUA.cpp
+    ../../Contents/UI/Source/PolyUIBox.cpp
+    ../../Contents/UI/Source/PolyUIButton.cpp
+    ../../Contents/UI/Source/PolyUICheckBox.cpp
+    ../../Contents/UI/Source/PolyUIColorBox.cpp
+    ../../Contents/UI/Source/PolyUIComboBox.cpp
+    ../../Contents/UI/Source/PolyUIElement.cpp
+    ../../Contents/UI/Source/PolyUIEvent.cpp
+    ../../Contents/UI/Source/PolyUIHScrollBar.cpp
+    ../../Contents/UI/Source/PolyUIHSizer.cpp
+    ../../Contents/UI/Source/PolyUIHSlider.cpp
+    ../../Contents/UI/Source/PolyUIImageButton.cpp
+    ../../Contents/UI/Source/PolyUIScrollContainer.cpp
+    ../../Contents/UI/Source/PolyUITextInput.cpp
+    ../../Contents/UI/Source/PolyUITree.cpp
+    ../../Contents/UI/Source/PolyUITreeContainer.cpp
+    ../../Contents/UI/Source/PolyUITreeEvent.cpp
+    ../../Contents/UI/Source/PolyUIVScrollBar.cpp
+    ../../Contents/UI/Source/PolyUIVSizer.cpp
+    ../../Contents/UI/Source/PolyUIWindow.cpp
+)
+
+SET(polycodeUI_HDRS
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/UILUA.h
+    ${CMAKE_CURRENT_SOURCE_DIR}/Include/UILUAWrappers.h
+    ../../Contents/UI/Include/PolyUIBox.h
+    ../../Contents/UI/Include/PolyUIButton.h
+    ../../Contents/UI/Include/PolyUICheckBox.h
+    ../../Contents/UI/Include/PolyUIColorBox.h
+    ../../Contents/UI/Include/PolyUIComboBox.h
+    ../../Contents/UI/Include/PolyUIElement.h
+    ../../Contents/UI/Include/PolyUIEvent.h
+    ../../Contents/UI/Include/PolyUIHScrollBar.h
+    ../../Contents/UI/Include/PolyUIHSizer.h
+    ../../Contents/UI/Include/PolyUIHSlider.h
+    ../../Contents/UI/Include/PolyUIImageButton.h
+    ../../Contents/UI/Include/PolyUIScrollContainer.h
+    ../../Contents/UI/Include/PolyUITextInput.h
+    ../../Contents/UI/Include/PolyUITree.h
+    ../../Contents/UI/Include/PolyUITreeContainer.h
+    ../../Contents/UI/Include/PolyUITreeEvent.h
+    ../../Contents/UI/Include/PolyUIVScrollBar.h
+    ../../Contents/UI/Include/PolyUIVSizer.h
+    ../../Contents/UI/Include/PolyUIWindow.h
+    ../../Contents/UI/Include/PolycodeUI.h
+)
+
+ADD_LIBRARY(UI SHARED ${polycodeUI_SRCS} ${polycodeUI_HDRS})
+
+SET_SOURCE_FILES_PROPERTIES(Source/UILUA.cpp PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(Include/UILUAWrappers.h PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(Include/UILUA.h PROPERTIES GENERATED 1)
+ADD_DEPENDENCIES(UI PolycodeLuaGenerate)
+
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
+SET_TARGET_PROPERTIES(UI PROPERTIES PREFIX "")
+
+IF(APPLE)
+TARGET_LINK_LIBRARIES(UI
+	Polycore
+	${LUA_LIBRARY}
+	"-framework Cocoa"
+	"-framework IOKit"
+        ${OPENGL_LIBRARIES}
+        ${OPENAL_LIBRARY}
+		${ZLIB_LIBRARIES}
+        ${PNG_LIBRARIES}
+        ${ZLIB_LIBRARIES}
+        ${FREETYPE_LIBRARIES}
+        ${PHYSFS_LIBRARY}
+        ${OGG_LIBRARIES}
+        ${VORBIS_LIBRARIES}
+        ${VORBISFILE_LIBRARIES}
+        ${EXTRA_LIBS})
+ELSEIF(MSVC OR MINGW)
+
+	SET(WIN_EXTRA_LIBS ${ZLIB_LIBRARIES} opengl32 glu32 winmm ws2_32)
+
+TARGET_LINK_LIBRARIES(UI
+	Polycore
+	${LUA_LIBRARY}
+        ${OPENGL_LIBRARIES}
+        ${OPENAL_LIBRARY}
+        ${PNG_LIBRARIES}
+        ${ZLIB_LIBRARIES}
+        ${FREETYPE_LIBRARIES}
+        ${PHYSFS_LIBRARY}
+        ${OGG_LIBRARIES}
+        ${VORBIS_LIBRARIES}
+        ${VORBISFILE_LIBRARIES}
+        ${EXTRA_LIBS}
+        ${WIN_EXTRA_LIBS})
+
+ELSE(APPLE)
+
+TARGET_LINK_LIBRARIES(UI
+	Polycore
+	${LUA_LIBRARY}
+        ${OPENGL_LIBRARIES}
+        ${OPENAL_LIBRARY}
+        ${PNG_LIBRARIES}
+        ${FREETYPE_LIBRARIES}
+        ${PHYSFS_LIBRARY}
+        ${OGG_LIBRARIES}
+        ${VORBIS_LIBRARIES}
+        ${VORBISFILE_LIBRARIES}
+        ${EXTRA_LIBS})
+          
+ENDIF(APPLE)
+
+IF(POLYCODE_INSTALL_FRAMEWORK)
+    
+    # install headers
+    INSTALL(FILES ${polycodeUI_HDRS} 
+        DESTINATION Bindings/Lua/Modules/UI/include)
+
+    INSTALL(DIRECTORY API DESTINATION Bindings/Lua/Modules/UI)
+	
+    # install libraries
+#    IF(POLYCODE_BUILD_SHARED)
+#        INSTALL(TARGETS PolycodeLua_dynamic
+#            DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/lib)
+#    ENDIF(POLYCODE_BUILD_SHARED)
+    
+#    IF(POLYCODE_BUILD_STATIC)
+     INSTALL(TARGETS UI
+         DESTINATION Bindings/Lua/Modules/UI/lib)
+#    ENDIF(POLYCODE_BUILD_STATIC)
+    
+ENDIF(POLYCODE_INSTALL_FRAMEWORK)