Newer
Older
Bryan O'Sullivan
committed
# -*- cmake -*-
project(llcommon)
include(00-Common)
include(LLCommon)
include(LLSharedLibs)
include(Copy3rdPartyLibs)
Bryan O'Sullivan
committed
include_directories(
${EXPAT_INCLUDE_DIRS}
${LLCOMMON_INCLUDE_DIRS}
Bryan O'Sullivan
committed
${ZLIB_INCLUDE_DIRS}
${URIPARSER_INCLUDE_DIRS}
Bryan O'Sullivan
committed
)
# add_executable(lltreeiterators lltreeiterators.cpp)
#
# target_link_libraries(lltreeiterators
# ${LLCOMMON_LIBRARIES})
Bryan O'Sullivan
committed
set(llcommon_SOURCE_FILES
llallocator.cpp
llallocator_heap_profile.cpp
Bryan O'Sullivan
committed
llapp.cpp
llapr.cpp
llassettype.cpp
llatomic.cpp
Bryan O'Sullivan
committed
llbase32.cpp
llbase64.cpp
llbitpack.cpp
Graham Linden
committed
llcallbacklist.cpp
Brad Payne (Vir Linden)
committed
llcallstack.cpp
llcleanup.cpp
Bryan O'Sullivan
committed
llcommon.cpp
Dmitry Zaporozhan
committed
llcommonutils.cpp
llcoros.cpp
Bryan O'Sullivan
committed
llcrc.cpp
llcriticaldamp.cpp
lldate.cpp
lldeadmantimer.cpp
lldictionary.cpp
Bryan O'Sullivan
committed
llerror.cpp
llerrorthread.cpp
llevent.cpp
lleventapi.cpp
lleventdispatcher.cpp
lleventtimer.cpp
llexception.cpp
Bryan O'Sullivan
committed
llfile.cpp
llfindlocale.cpp
llfixedbuffer.cpp
llformat.cpp
llframetimer.cpp
llheartbeat.cpp
llheteromap.cpp
llinitdestroyclass.cpp
brad kittenbrink
committed
llinstancetracker.cpp
llleaplistener.cpp
Bryan O'Sullivan
committed
llliveappconfig.cpp
lllivefile.cpp
llmd5.cpp
llmemory.cpp
llmemorystream.cpp
llmetrics.cpp
llmetricperformancetester.cpp
Bryan O'Sullivan
committed
llmortician.cpp
Bryan O'Sullivan
committed
llprocessor.cpp
llprocinfo.cpp
Bryan O'Sullivan
committed
llqueuedthread.cpp
llrand.cpp
Bryan O'Sullivan
committed
llrun.cpp
llsd.cpp
Richard Linden
committed
llsdparam.cpp
Bryan O'Sullivan
committed
llsdserialize.cpp
llsdserialize_xml.cpp
llsdutil.cpp
llsingleton.cpp
llstacktrace.cpp
Bryan O'Sullivan
committed
llstreamtools.cpp
llstring.cpp
llstringtable.cpp
llsys.cpp
lltempredirect.cpp
Bryan O'Sullivan
committed
llthread.cpp
Richard Linden
committed
llthreadlocalstorage.cpp
Bryan O'Sullivan
committed
lltimer.cpp
Richard Linden
committed
lltraceaccumulators.cpp
lltracethreadrecorder.cpp
Bryan O'Sullivan
committed
lluri.cpp
Bryan O'Sullivan
committed
lluuid.cpp
llworkerthread.cpp
timing.cpp
u64.cpp
Brad Payne (Vir Linden)
committed
StackWalker.cpp
Bryan O'Sullivan
committed
)
set(llcommon_HEADER_FILES
CMakeLists.txt
ctype_workaround.h
fix_macros.h
Bryan O'Sullivan
committed
indra_constants.h
linden_common.h
Graham Madarasz
committed
llalignedarray.h
llallocator.h
llallocator_heap_profile.h
Bryan O'Sullivan
committed
llapp.h
llapr.h
llassettype.h
llatomic.h
Bryan O'Sullivan
committed
llbase32.h
llbase64.h
Richard Linden
committed
llbitpack.h
Bryan O'Sullivan
committed
llboost.h
Graham Linden
committed
llcallbacklist.h
Brad Payne (Vir Linden)
committed
llcallstack.h
llcleanup.h
Bryan O'Sullivan
committed
llcommon.h
Dmitry Zaporozhan
committed
llcommonutils.h
llcoros.h
Bryan O'Sullivan
committed
llcrc.h
llcriticaldamp.h
lldate.h
lldeadmantimer.h
Bryan O'Sullivan
committed
lldefs.h
Bryan O'Sullivan
committed
lldepthstack.h
lldictionary.h
lldoubledispatch.h
Bryan O'Sullivan
committed
llendianswizzle.h
llerror.h
llerrorcontrol.h
llerrorthread.h
llevent.h
lleventapi.h
lleventdispatcher.h
Bryan O'Sullivan
committed
lleventemitter.h
llexception.h
Bryan O'Sullivan
committed
llfasttimer.h
llfile.h
llfindlocale.h
llfixedbuffer.h
llformat.h
llframetimer.h
llhandle.h
Bryan O'Sullivan
committed
llhash.h
llheartbeat.h
llheteromap.h
Richard Linden
committed
llindexedvector.h
llinitdestroyclass.h
llinstancetracker.h
Bryan O'Sullivan
committed
llkeythrottle.h
llleaplistener.h
Bryan O'Sullivan
committed
llliveappconfig.h
lllivefile.h
llmainthreadtask.h
Bryan O'Sullivan
committed
llmd5.h
llmemory.h
llmemorystream.h
llmetrics.h
llmetricperformancetester.h
Bryan O'Sullivan
committed
llmortician.h
llnametable.h
llpounceable.h
Bryan O'Sullivan
committed
llpreprocessor.h
llpriqueuemap.h
Bryan O'Sullivan
committed
llprocessor.h
llprocinfo.h
Bryan O'Sullivan
committed
llqueuedthread.h
llrand.h
Bryan O'Sullivan
committed
llrun.h
llrefcount.h
llsafehandle.h
Bryan O'Sullivan
committed
llsd.h
Richard Linden
committed
llsdparam.h
Bryan O'Sullivan
committed
llsdserialize.h
llsdserialize_xml.h
llsdutil.h
llsimplehash.h
llsingleton.h
llstacktrace.h
Bryan O'Sullivan
committed
llstl.h
Bryan O'Sullivan
committed
llstreamtools.h
llstrider.h
llstring.h
llstringtable.h
llstaticstringtable.h
Rider Linden
committed
llstatsaccumulator.h
Bryan O'Sullivan
committed
llsys.h
lltempredirect.h
Bryan O'Sullivan
committed
llthread.h
llthreadlocalstorage.h
Bryan O'Sullivan
committed
lltimer.h
lltraceaccumulators.h
lltracethreadrecorder.h
lltreeiterators.h
llunits.h
llunittype.h
Bryan O'Sullivan
committed
lluri.h
Bryan O'Sullivan
committed
lluuid.h
llwin32headers.h
Bryan O'Sullivan
committed
llworkerthread.h
lockstatic.h
Bryan O'Sullivan
committed
stdtypes.h
Bryan O'Sullivan
committed
timer.h
u64.h
Brad Payne (Vir Linden)
committed
StackWalker.h
Bryan O'Sullivan
committed
)
set_source_files_properties(${llcommon_HEADER_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
if (BUGSPLAT_DB)
set_source_files_properties(llapp.cpp
PROPERTIES COMPILE_DEFINITIONS "LL_BUGSPLAT")
endif (BUGSPLAT_DB)
Bryan O'Sullivan
committed
list(APPEND llcommon_SOURCE_FILES ${llcommon_HEADER_FILES})
add_library (llcommon ${llcommon_SOURCE_FILES})
set_target_properties(llcommon PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
target_link_libraries(
llcommon
${APRUTIL_LIBRARIES}
${APR_LIBRARIES}
${EXPAT_LIBRARIES}
${ZLIB_LIBRARIES}
${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_PROGRAM_OPTIONS_LIBRARY}
${BOOST_REGEX_LIBRARY}
${BOOST_STACKTRACE_LIBRARY}
${BOOST_SYSTEM_LIBRARY}
${GOOGLE_PERFTOOLS_LIBRARIES}
${URIPARSER_LIBRARIES}
absl::flat_hash_map
absl::node_hash_map
absl::strings
absl::str_format
absl::random_random
absl::random_bit_gen_ref
nlohmann_json::nlohmann_json
${DL_LIBRARY}
${RT_LIBRARY}
Leslie Linden
committed
if (DARWIN)
include(CMakeFindFrameworks)
find_library(CARBON_LIBRARY Carbon)
target_link_libraries(llcommon ${CARBON_LIBRARY})
endif (DARWIN)
Mark Palange (Mani)
committed
add_dependencies(llcommon stage_third_party_libs)
if (LL_TESTS)
include(LLAddBuildTest)
SET(llcommon_TEST_SOURCE_FILES
# unit-testing llcommon is not possible right now as the test-harness *itself* depends upon llcommon, causing a circular dependency. Add your 'unit' tests as integration tests for now.
)
LL_ADD_PROJECT_UNIT_TESTS(llcommon "${llcommon_TEST_SOURCE_FILES}")
#set(TEST_DEBUG on)
set(test_libs llcommon
${LLCOMMON_LIBRARIES}
${WINDOWS_LIBRARIES}
${BOOST_FIBER_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
${BOOST_THREAD_LIBRARY}
${BOOST_SYSTEM_LIBRARY})
LL_ADD_INTEGRATION_TEST(commonmisc "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(bitpack "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llbase64 "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llcond "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lldate "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lldeadmantimer "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lldependencies "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llerror "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lleventdispatcher "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lleventcoro "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lleventfilter "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llframetimer "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llheteromap "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llinstancetracker "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llleap "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llmainthreadtask "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llpounceable "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llprocess "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llprocessor "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llprocinfo "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llrand "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llsdserialize "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llsingleton "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llstreamqueue "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llstring "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lltrace "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lltreeiterators "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lluri "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(llunits "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(lluuid "" "${test_libs}")
LL_ADD_INTEGRATION_TEST(stringize "" "${test_libs}")
## llexception_test.cpp isn't a regression test, and doesn't need to be run
## every build. It's to help a developer make implementation choices about
## throwing and catching exceptions.
##LL_ADD_INTEGRATION_TEST(llexception "" "${test_libs}")
endif (LL_TESTS)