Imported existing code
This commit is contained in:
161
indra/llwindow/CMakeLists.txt
Normal file
161
indra/llwindow/CMakeLists.txt
Normal file
@@ -0,0 +1,161 @@
|
||||
# -*- cmake -*-
|
||||
#
|
||||
# Compared to other libraries, compiling this one is a mess. The
|
||||
# reason is that we have several source files that have two different
|
||||
# sets of behaviour, depending on whether they're intended to be part
|
||||
# of the viewer or the map server.
|
||||
#
|
||||
# Unfortunately, the affected code is a rat's nest of #ifdefs, so it's
|
||||
# easier to play compilation tricks than to actually fix the problem.
|
||||
|
||||
project(llwindow)
|
||||
|
||||
include(00-Common)
|
||||
include(DirectX)
|
||||
include(LLCommon)
|
||||
include(LLImage)
|
||||
include(LLMath)
|
||||
include(LLRender)
|
||||
include(LLVFS)
|
||||
include(LLWindow)
|
||||
include(LLXML)
|
||||
include(UI)
|
||||
|
||||
include_directories(
|
||||
${LLCOMMON_INCLUDE_DIRS}
|
||||
${LLIMAGE_INCLUDE_DIRS}
|
||||
${LLMATH_INCLUDE_DIRS}
|
||||
${LLRENDER_INCLUDE_DIRS}
|
||||
${LLVFS_INCLUDE_DIRS}
|
||||
${LLWINDOW_INCLUDE_DIRS}
|
||||
${LLXML_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set(llwindow_SOURCE_FILES
|
||||
llkeyboard.cpp
|
||||
llwindowheadless.cpp
|
||||
)
|
||||
|
||||
set(llwindows_HEADER_FILES
|
||||
CMakeLists.txt
|
||||
|
||||
llkeyboard.h
|
||||
llwindowheadless.h
|
||||
)
|
||||
|
||||
set(viewer_SOURCE_FILES
|
||||
llwindow.cpp
|
||||
)
|
||||
|
||||
set(viewer_HEADER_FILES
|
||||
llwindow.h
|
||||
llpreeditor.h
|
||||
llmousehandler.h
|
||||
)
|
||||
|
||||
# Libraries on which this library depends, needed for Linux builds
|
||||
# Sort by high-level to low-level
|
||||
set(llwindow_LINK_LIBRARIES
|
||||
${UI_LIBRARIES} # for GTK
|
||||
${SDL_LIBRARY}
|
||||
)
|
||||
|
||||
if (DARWIN)
|
||||
list(APPEND llwindow_SOURCE_FILES
|
||||
llkeyboardmacosx.cpp
|
||||
llwindowmacosx.cpp
|
||||
llwindowmacosx-objc.mm
|
||||
)
|
||||
list(APPEND llwindow_HEADER_FILES
|
||||
llkeyboardmacosx.h
|
||||
llwindowmacosx.h
|
||||
llwindowmacosx-objc.h
|
||||
)
|
||||
|
||||
# We use a bunch of deprecated system APIs.
|
||||
set_source_files_properties(
|
||||
llkeyboardmacosx.cpp
|
||||
llwindowmacosx.cpp
|
||||
PROPERTIES
|
||||
COMPILE_FLAGS "-Wno-deprecated-declarations -fpascal-strings"
|
||||
)
|
||||
endif (DARWIN)
|
||||
|
||||
if (LINUX)
|
||||
list(APPEND viewer_SOURCE_FILES
|
||||
llkeyboardsdl.cpp
|
||||
llwindowsdl.cpp
|
||||
)
|
||||
list(APPEND viewer_HEADER_FILES
|
||||
llkeyboardsdl.h
|
||||
llwindowsdl.h
|
||||
)
|
||||
endif (LINUX)
|
||||
|
||||
if (WINDOWS)
|
||||
list(APPEND llwindow_SOURCE_FILES
|
||||
llwindowwin32.cpp
|
||||
lldxhardware.cpp
|
||||
llkeyboardwin32.cpp
|
||||
)
|
||||
list(APPEND llwindow_HEADER_FILES
|
||||
llwindowwin32.h
|
||||
lldxhardware.h
|
||||
llkeyboardwin32.h
|
||||
)
|
||||
list(APPEND llwindow_LINK_LIBRARIES
|
||||
comdlg32 # Common Dialogs for ChooseColor
|
||||
)
|
||||
endif (WINDOWS)
|
||||
|
||||
if (SOLARIS)
|
||||
list(APPEND llwindow_SOURCE_FILES
|
||||
llwindowsolaris.cpp
|
||||
)
|
||||
list(APPEND llwindow_HEADER_FILES
|
||||
llwindowsolaris.h
|
||||
)
|
||||
endif (SOLARIS)
|
||||
|
||||
set_source_files_properties(${llwindow_HEADER_FILES}
|
||||
PROPERTIES HEADER_FILE_ONLY TRUE)
|
||||
|
||||
if (SERVER AND NOT WINDOWS AND NOT DARWIN)
|
||||
set(server_SOURCE_FILES
|
||||
llwindowmesaheadless.cpp
|
||||
)
|
||||
set(server_HEADER_FILES
|
||||
llwindowmesaheadless.h
|
||||
)
|
||||
copy_server_sources(
|
||||
llwindow
|
||||
)
|
||||
|
||||
|
||||
set_source_files_properties(
|
||||
${server_SOURCE_FILES}
|
||||
PROPERTIES
|
||||
COMPILE_FLAGS "-DLL_MESA=1 -DLL_MESA_HEADLESS=1"
|
||||
)
|
||||
add_library (llwindowheadless
|
||||
${llwindow_SOURCE_FILES}
|
||||
${server_SOURCE_FILES}
|
||||
)
|
||||
add_dependencies(llwindowheadless prepare)
|
||||
# *TODO: This should probably have target_link_libraries
|
||||
endif (SERVER AND NOT WINDOWS AND NOT DARWIN)
|
||||
|
||||
if (llwindow_HEADER_FILES)
|
||||
list(APPEND llwindow_SOURCE_FILES ${llwindow_HEADER_FILES})
|
||||
endif (llwindow_HEADER_FILES)
|
||||
list(APPEND viewer_SOURCE_FILES ${viewer_HEADER_FILES})
|
||||
|
||||
if (VIEWER)
|
||||
add_library (llwindow
|
||||
${llwindow_SOURCE_FILES}
|
||||
${viewer_SOURCE_FILES}
|
||||
)
|
||||
add_dependencies(llwindow prepare)
|
||||
target_link_libraries (llwindow ${llwindow_LINK_LIBRARIES})
|
||||
endif (VIEWER)
|
||||
|
||||
Reference in New Issue
Block a user