diff options
51 files changed, 406 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index fd22000a6e..5328c8ddf4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,11 @@ cmake_minimum_required (VERSION 2.8) project (Miranda) set_directory_properties(PROPERTIES COMPILE_DEFINITIONS "_UNICODE;UNICODE;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS") -link_directories(${CMAKE_SOURCE_DIR}/libs/win32) +if(CMAKE_CL_64) + link_directories(${CMAKE_SOURCE_DIR}/libs/win64) +else() + link_directories(${CMAKE_SOURCE_DIR}/libs/win32) +endif() include_directories(${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/include/msapi ${CMAKE_SOURCE_DIR}/plugins/ExternalAPI) set(COMMON_LIBS winmm.lib Wtsapi32.lib netapi32.lib pdh.lib shlwapi.lib Strmiids.lib gdiplus.lib dbghelp.lib Setupapi.lib msimg32.lib comctl32.lib ws2_32.lib UxTheme.lib) diff --git a/cmake/core.cmake b/cmake/core.cmake index 7c8677d4e1..5fc7c37302 100644 --- a/cmake/core.cmake +++ b/cmake/core.cmake @@ -1,6 +1,14 @@ include_directories(.) file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") -add_library(${TARGET} SHARED ${SOURCES}) +set(STDAFX "${CMAKE_CURRENT_SOURCE_DIR}/src/stdafx.cxx") +if ((EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/stdafx.h") AND (EXISTS ${STDAFX})) + file(GLOB PRECOMPILED_SOURCES "src/*.cpp") + SET_SOURCE_FILES_PROPERTIES(${PRECOMPILED_SOURCES} PROPERTIES COMPILE_FLAGS "/Yu") + SET_SOURCE_FILES_PROPERTIES(${STDAFX} PROPERTIES COMPILE_FLAGS "/Yc") + add_library(${TARGET} SHARED ${STDAFX} ${SOURCES}) +else() + add_library(${TARGET} SHARED ${SOURCES}) +endif() set_target_properties(${TARGET} PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS" RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/$<CONFIG>/Core" diff --git a/cmake/lib.cmake b/cmake/lib.cmake index 7c94c732e3..64ceb02bd5 100644 --- a/cmake/lib.cmake +++ b/cmake/lib.cmake @@ -1,4 +1,12 @@ -add_library(${TARGET} SHARED ${SOURCES}) +set(STDAFX "${CMAKE_CURRENT_SOURCE_DIR}/src/stdafx.cxx") +if ((EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/stdafx.h") AND (EXISTS ${STDAFX})) + file(GLOB PRECOMPILED_SOURCES "src/*.cpp") + SET_SOURCE_FILES_PROPERTIES(${PRECOMPILED_SOURCES} PROPERTIES COMPILE_FLAGS "/Yu") + SET_SOURCE_FILES_PROPERTIES(${STDAFX} PROPERTIES COMPILE_FLAGS "/Yc") + add_library(${TARGET} SHARED ${STDAFX} ${SOURCES}) +else() + add_library(${TARGET} SHARED ${SOURCES}) +endif() set_target_properties(${TARGET} PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS" SUFFIX ".mir" diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake index 9d3efac2e0..d3986c87c3 100644 --- a/cmake/plugin.cmake +++ b/cmake/plugin.cmake @@ -1,4 +1,12 @@ -add_library(${TARGET} SHARED ${SOURCES}) +set(STDAFX "${CMAKE_CURRENT_SOURCE_DIR}/src/stdafx.cxx") +if ((EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src/stdafx.h") AND (EXISTS ${STDAFX})) + file(GLOB PRECOMPILED_SOURCES "src/*.cpp") + SET_SOURCE_FILES_PROPERTIES(${PRECOMPILED_SOURCES} PROPERTIES COMPILE_FLAGS "/Yu") + SET_SOURCE_FILES_PROPERTIES(${STDAFX} PROPERTIES COMPILE_FLAGS "/Yc") + add_library(${TARGET} SHARED ${STDAFX} ${SOURCES}) +else() + add_library(${TARGET} SHARED ${SOURCES}) +endif() set_target_properties(${TARGET} PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS" RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/$<CONFIG>/Plugins" diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index 5c360a5ef0..67fdb72838 100644 --- a/libs/CMakeLists.txt +++ b/libs/CMakeLists.txt @@ -1,3 +1,4 @@ add_subdirectory(zlib) add_subdirectory(libjson) -add_subdirectory(libaxolotl)
\ No newline at end of file +add_subdirectory(libaxolotl) +add_subdirectory(libevent)
\ No newline at end of file diff --git a/libs/libevent/CMakeLists.txt b/libs/libevent/CMakeLists.txt new file mode 100644 index 0000000000..ce54ab9827 --- /dev/null +++ b/libs/libevent/CMakeLists.txt @@ -0,0 +1,6 @@ +file(GLOB SOURCES "src/*.h" "src/*.c" "src/WIN32-Code/*.c") +set(TARGET libevent) +include_directories("include" "src/compat") +include(${CMAKE_SOURCE_DIR}/cmake/lib.cmake) +set_target_properties(${TARGET} PROPERTIES COMPILE_DEFINITIONS "EVENT__NEED_DLLIMPORT") +target_link_libraries(${TARGET} libeay32.lib ssleay32.lib)
\ No newline at end of file diff --git a/libs/libjson/CMakeLists.txt b/libs/libjson/CMakeLists.txt index e76677a636..62b68e2eb2 100644 --- a/libs/libjson/CMakeLists.txt +++ b/libs/libjson/CMakeLists.txt @@ -1,4 +1,9 @@ -file(GLOB SOURCES "src/*.h" "src/*.cpp" "src/libjson.def") +file(GLOB SOURCES "src/*.h" "src/*.cpp") +if(CMAKE_CL_64) + list(APPEND SOURCES "src/libjson64.def") +else() + list(APPEND SOURCES "src/libjson.def") +endif() set(TARGET libjson) include(${CMAKE_SOURCE_DIR}/cmake/lib.cmake) diff --git a/plugins/Db3x_mmap/CMakeLists.txt b/plugins/Db3x_mmap/CMakeLists.txt index eee167c6a9..d30807aa46 100644 --- a/plugins/Db3x_mmap/CMakeLists.txt +++ b/plugins/Db3x_mmap/CMakeLists.txt @@ -1,3 +1,8 @@ file(GLOB SOURCES "src/*.h" "src/*.cpp" "src/dbtool/*.cpp" "res/*.rc") set(TARGET Dbx_mmap) + +# Just a workaround. Better to fix plugins that do not compile with this option. +# Even Microsoft recommends to use standard exception handling. +string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake)
\ No newline at end of file diff --git a/protocols/AimOscar/CMakeLists.txt b/protocols/AimOscar/CMakeLists.txt new file mode 100644 index 0000000000..adb9dbb828 --- /dev/null +++ b/protocols/AimOscar/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET AIM) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_aim)
\ No newline at end of file diff --git a/protocols/AimOscar/proto_aim/CMakeLists.txt b/protocols/AimOscar/proto_aim/CMakeLists.txt new file mode 100644 index 0000000000..883d656e17 --- /dev/null +++ b/protocols/AimOscar/proto_aim/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_AIM) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/CMakeLists.txt b/protocols/CMakeLists.txt index 0c4b8d722e..e3c6bfff44 100644 --- a/protocols/CMakeLists.txt +++ b/protocols/CMakeLists.txt @@ -1,4 +1,24 @@ +#add_subdirectory(AimOscar) +#add_subdirectory(Discord) +#add_subdirectory(Dummy) +#add_subdirectory(EmLanProto) add_subdirectory(FacebookRM) +#add_subdirectory(Gadu-Gadu) +#add_subdirectory(ICQCorp) +add_subdirectory(IcqOscarJ) +add_subdirectory(IRCG) add_subdirectory(JabberG) +#add_subdirectory(MinecraftDynmap) +#add_subdirectory(MRA) add_subdirectory(MSN) -add_subdirectory(SkypeWeb)
\ No newline at end of file +#add_subdirectory(Omegle) +#add_subdirectory(Sametime) +add_subdirectory(SkypeWeb) +#add_subdirectory(Slack) +add_subdirectory(Steam) +#add_subdirectory(Telegram) +#add_subdirectory(Tlen) +#add_subdirectory(Tox) +add_subdirectory(Twitter) +add_subdirectory(VKontakte) +#add_subdirectory(WhatsApp)
\ No newline at end of file diff --git a/protocols/Discord/CMakeLists.txt b/protocols/Discord/CMakeLists.txt new file mode 100644 index 0000000000..a227eff6df --- /dev/null +++ b/protocols/Discord/CMakeLists.txt @@ -0,0 +1,5 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET Discord) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +target_link_libraries(${TARGET} Zlib libjson) +add_subdirectory(proto_discord)
\ No newline at end of file diff --git a/protocols/Discord/proto_discord/CMakeLists.txt b/protocols/Discord/proto_discord/CMakeLists.txt new file mode 100644 index 0000000000..5ea6891fa1 --- /dev/null +++ b/protocols/Discord/proto_discord/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Discord) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/Dummy/CMakeLists.txt b/protocols/Dummy/CMakeLists.txt new file mode 100644 index 0000000000..2fedfcaa24 --- /dev/null +++ b/protocols/Dummy/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET Dummy) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_dummy)
\ No newline at end of file diff --git a/protocols/Dummy/proto_dummy/CMakeLists.txt b/protocols/Dummy/proto_dummy/CMakeLists.txt new file mode 100644 index 0000000000..3396e1c992 --- /dev/null +++ b/protocols/Dummy/proto_dummy/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Dummy) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/EmLanProto/CMakeLists.txt b/protocols/EmLanProto/CMakeLists.txt new file mode 100644 index 0000000000..c109f097f4 --- /dev/null +++ b/protocols/EmLanProto/CMakeLists.txt @@ -0,0 +1,5 @@ +set_directory_properties(PROPERTIES COMPILE_DEFINITIONS "") + +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET EmLanProto) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake)
\ No newline at end of file diff --git a/protocols/Gadu-Gadu/CMakeLists.txt b/protocols/Gadu-Gadu/CMakeLists.txt new file mode 100644 index 0000000000..9ab4671f22 --- /dev/null +++ b/protocols/Gadu-Gadu/CMakeLists.txt @@ -0,0 +1,40 @@ +file(GLOB SOURCES "src/*.h" "src/libgadu/*.h" "res/*.rc" +"src/avatar.cpp" +"src/core.cpp" +"src/dialogs.cpp" +"src/dynstuff.cpp" +"src/filetransfer.cpp" +"src/stdafx.cpp" +"src/gg_proto.cpp" +"src/groupchat.cpp" +"src/icolib.cpp" +"src/image.cpp" +"src/import.cpp" +"src/keepalive.cpp" +"src/links.cpp" +"src/oauth.cpp" +"src/ownerinfo.cpp" +"src/popups.cpp" +"src/services.cpp" +"src/sessions.cpp" +"src/gg.cpp" +"src/token.cpp" +"src/userutils.cpp" +"src/libgadu/common.cpp" +"src/libgadu/dcc.cpp" +"src/libgadu/dcc7.cpp" +"src/libgadu/events.cpp" +"src/libgadu/http.cpp" +"src/libgadu/libgadu.cpp" +"src/libgadu/pthread.cpp" +"src/libgadu/pubdir.cpp" +"src/libgadu/pubdir50.cpp" +"src/libgadu/resolver.cpp" +"src/libgadu/sha1.cpp" +"src/libgadu/win32.cpp" +) +set(TARGET GG) +include_directories("src/libgadu") +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +set_target_properties(${TARGET} PROPERTIES COMPILE_DEFINITIONS "GG_EXPORTS") +add_subdirectory(proto_gg)
\ No newline at end of file diff --git a/protocols/Gadu-Gadu/proto_gg/CMakeLists.txt b/protocols/Gadu-Gadu/proto_gg/CMakeLists.txt new file mode 100644 index 0000000000..5b26e158f6 --- /dev/null +++ b/protocols/Gadu-Gadu/proto_gg/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_GG) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/ICQCorp/CMakeLists.txt b/protocols/ICQCorp/CMakeLists.txt new file mode 100644 index 0000000000..9e3d58ba26 --- /dev/null +++ b/protocols/ICQCorp/CMakeLists.txt @@ -0,0 +1,15 @@ +set_directory_properties(PROPERTIES COMPILE_DEFINITIONS "") + +file(GLOB SOURCES "src/*.h" "res/*.rc" +"src/corp.cpp" +"src/event.cpp" +"src/options.cpp" +"src/packet.cpp" +"src/protocol.cpp" +"src/services.cpp" +"src/socket.cpp" +"src/transfer.cpp" +"src/user.cpp" +) +set(TARGET ICQCorp) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake)
\ No newline at end of file diff --git a/protocols/IRCG/CMakeLists.txt b/protocols/IRCG/CMakeLists.txt new file mode 100644 index 0000000000..a281099459 --- /dev/null +++ b/protocols/IRCG/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET IRC) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_irc)
\ No newline at end of file diff --git a/protocols/IRCG/proto_irc/CMakeLists.txt b/protocols/IRCG/proto_irc/CMakeLists.txt new file mode 100644 index 0000000000..6b91141bc8 --- /dev/null +++ b/protocols/IRCG/proto_irc/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_IRC) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/IcqOscarJ/CMakeLists.txt b/protocols/IcqOscarJ/CMakeLists.txt new file mode 100644 index 0000000000..f5c241229b --- /dev/null +++ b/protocols/IcqOscarJ/CMakeLists.txt @@ -0,0 +1,5 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET ICQ) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_icq) +add_subdirectory(icq_xstatus)
\ No newline at end of file diff --git a/protocols/IcqOscarJ/icq_xstatus/CMakeLists.txt b/protocols/IcqOscarJ/icq_xstatus/CMakeLists.txt new file mode 100644 index 0000000000..388679a148 --- /dev/null +++ b/protocols/IcqOscarJ/icq_xstatus/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET xStatus_ICQ) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/IcqOscarJ/proto_icq/CMakeLists.txt b/protocols/IcqOscarJ/proto_icq/CMakeLists.txt new file mode 100644 index 0000000000..596ac21624 --- /dev/null +++ b/protocols/IcqOscarJ/proto_icq/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_ICQ) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/MRA/CMakeLists.txt b/protocols/MRA/CMakeLists.txt new file mode 100644 index 0000000000..6626c8d0cc --- /dev/null +++ b/protocols/MRA/CMakeLists.txt @@ -0,0 +1,6 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET MRA) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +target_link_libraries(${TARGET} Zlib) +add_subdirectory(proto_mra) +add_subdirectory(xstatus_mra)
\ No newline at end of file diff --git a/protocols/MRA/proto_mra/CMakeLists.txt b/protocols/MRA/proto_mra/CMakeLists.txt new file mode 100644 index 0000000000..f73e541f0b --- /dev/null +++ b/protocols/MRA/proto_mra/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_MRA) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/MRA/xstatus_mra/CMakeLists.txt b/protocols/MRA/xstatus_mra/CMakeLists.txt new file mode 100644 index 0000000000..3f6ad79d54 --- /dev/null +++ b/protocols/MRA/xstatus_mra/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET xStatus_MRA) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/MinecraftDynmap/CMakeLists.txt b/protocols/MinecraftDynmap/CMakeLists.txt new file mode 100644 index 0000000000..3cd58e95c3 --- /dev/null +++ b/protocols/MinecraftDynmap/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc" "${CMAKE_SOURCE_DIR}/utils/std_string_utils.cpp") +set(TARGET MinecraftDynmap) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_minecraftdynmap)
\ No newline at end of file diff --git a/protocols/MinecraftDynmap/proto_minecraftdynmap/CMakeLists.txt b/protocols/MinecraftDynmap/proto_minecraftdynmap/CMakeLists.txt new file mode 100644 index 0000000000..918d7201dc --- /dev/null +++ b/protocols/MinecraftDynmap/proto_minecraftdynmap/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_MinecraftDynmap) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/Omegle/CMakeLists.txt b/protocols/Omegle/CMakeLists.txt new file mode 100644 index 0000000000..0a4459825e --- /dev/null +++ b/protocols/Omegle/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc" "${CMAKE_SOURCE_DIR}/utils/std_string_utils.cpp") +set(TARGET Omegle) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_omegle)
\ No newline at end of file diff --git a/protocols/Omegle/proto_omegle/CMakeLists.txt b/protocols/Omegle/proto_omegle/CMakeLists.txt new file mode 100644 index 0000000000..0842765ef2 --- /dev/null +++ b/protocols/Omegle/proto_omegle/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Omegle) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/Sametime/CMakeLists.txt b/protocols/Sametime/CMakeLists.txt new file mode 100644 index 0000000000..03fafd6760 --- /dev/null +++ b/protocols/Sametime/CMakeLists.txt @@ -0,0 +1,38 @@ +file(GLOB SOURCES "src/*.h" "res/*.rc" +"src/conference.cpp" +"src/files.cpp" +"src/messaging.cpp" +"src/options.cpp" +"src/places.cpp" +"src/sametime.cpp" +"src/sametime_proto.cpp" +"src/sametime_session.cpp" +"src/session_announce_win.cpp" +"src/userlist.cpp" +"src/utils.cpp" +"src/meanwhile/src/channel.c" +"src/meanwhile/src/cipher.c" +"src/meanwhile/src/common.c" +"src/meanwhile/src/error.c" +"src/meanwhile/src/message.c" +"src/meanwhile/src/mpi/mpi.c" +"src/meanwhile/src/mw_debug.c" +"src/meanwhile/src/mw_util.c" +"src/meanwhile/src/service.c" +"src/meanwhile/src/session.c" +"src/meanwhile/src/srvc_aware.c" +"src/meanwhile/src/srvc_conf.c" +"src/meanwhile/src/srvc_dir.c" +"src/meanwhile/src/srvc_ft.c" +"src/meanwhile/src/srvc_im.c" +"src/meanwhile/src/srvc_place.c" +"src/meanwhile/src/srvc_resolve.c" +"src/meanwhile/src/srvc_store.c" +"src/meanwhile/src/st_list.c" +) +set(TARGET Sametime) +include_directories("src" "src/glib" "src/meanwhile/src") +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +target_link_libraries(${TARGET} glib) +add_subdirectory(proto_sametime) +add_subdirectory(src/glib)
\ No newline at end of file diff --git a/protocols/Sametime/proto_sametime/CMakeLists.txt b/protocols/Sametime/proto_sametime/CMakeLists.txt new file mode 100644 index 0000000000..b0b9cd2707 --- /dev/null +++ b/protocols/Sametime/proto_sametime/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Sametime) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/Sametime/src/glib/CMakeLists.txt b/protocols/Sametime/src/glib/CMakeLists.txt new file mode 100644 index 0000000000..3c18c15003 --- /dev/null +++ b/protocols/Sametime/src/glib/CMakeLists.txt @@ -0,0 +1,82 @@ +set(TARGET glib) +add_library(${TARGET} +"garray.c" +"gasyncqueue.c" +"gatomic.c" +"gbacktrace.c" +"gbase64.c" +"gbitlock.c" +"gbookmarkfile.c" +"gbuffer.c" +"gcache.c" +"gchecksum.c" +"gcompletion.c" +"gconvert.c" +"gdataset.c" +"gdate.c" +"gdatetime.c" +"gdir.c" +"gerror.c" +"gfileutils.c" +"ghash.c" +"ghook.c" +"ghostutils.c" +"giochannel.c" +"giowin32.c" +"gkeyfile.c" +"glist.c" +"gmain.c" +"gmappedfile.c" +"gmarkup.c" +"gmem.c" +"gmessages.c" +"gnode.c" +"gnulib/asnprintf.c" +"gnulib/printf-args.c" +"gnulib/printf-parse.c" +"gnulib/printf.c" +"gnulib/vasnprintf.c" +"goption.c" +"gpattern.c" +"gpoll.c" +"gprimes.c" +"gprintf.c" +"gqsort.c" +"gqueue.c" +"grand.c" +"gregex.c" +"grel.c" +"gscanner.c" +"gsequence.c" +"gshell.c" +"gslice.c" +"gslist.c" +"gspawn-win32-helper.c" +"gspawn-win32.c" +"gstdio.c" +"gstrfuncs.c" +"gstring.c" +"gtestutils.c" +"gthread.c" +"gthreadpool.c" +"gtimer.c" +"gtimezone.c" +"gtree.c" +"gunibreak.c" +"gunicollate.c" +"gunidecomp.c" +"guniprop.c" +"gurifuncs.c" +"gutf8.c" +"gutils.c" +"gvariant-core.c" +"gvariant-parser.c" +"gvariant-serialiser.c" +"gvariant.c" +"gvarianttype.c" +"gvarianttypeinfo.c" +"gwin32.c" +"libcharset/localcharset.c" +"libintl.c" +) +set_target_properties(${TARGET} PROPERTIES COMPILE_DEFINITIONS "GLIB_COMPILATION")
\ No newline at end of file diff --git a/protocols/Slack/CMakeLists.txt b/protocols/Slack/CMakeLists.txt new file mode 100644 index 0000000000..44059cf3af --- /dev/null +++ b/protocols/Slack/CMakeLists.txt @@ -0,0 +1,3 @@ +file(GLOB SOURCES "src/*.h" "src/api/*.h" "src/*.cpp" "res/*.rc") +set(TARGET Slack) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake)
\ No newline at end of file diff --git a/protocols/Steam/CMakeLists.txt b/protocols/Steam/CMakeLists.txt new file mode 100644 index 0000000000..4f76cb5bf9 --- /dev/null +++ b/protocols/Steam/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/api/*.h" "src/*.cpp" "res/*.rc") +set(TARGET Steam) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_steam)
\ No newline at end of file diff --git a/protocols/Steam/proto_steam/CMakeLists.txt b/protocols/Steam/proto_steam/CMakeLists.txt new file mode 100644 index 0000000000..436cbf7985 --- /dev/null +++ b/protocols/Steam/proto_steam/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Steam) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/Telegram/CMakeLists.txt b/protocols/Telegram/CMakeLists.txt new file mode 100644 index 0000000000..6fd3fc555a --- /dev/null +++ b/protocols/Telegram/CMakeLists.txt @@ -0,0 +1,29 @@ +file(GLOB SOURCES "src/*.h" "res/*.rc" +"src/tgl/auto/auto-autocomplete.c" +"src/tgl/auto/auto-fetch-ds.c" +"src/tgl/auto/auto-fetch.c" +"src/tgl/auto/auto-free-ds.c" +"src/tgl/auto/auto-print-ds.c" +"src/tgl/auto/auto-skip.c" +"src/tgl/auto/auto-store-ds.c" +"src/tgl/auto/auto-store.c" +"src/tgl/auto/auto-types.c" +"src/tgl/binlog.c" +"src/tgl/mime-types.c" +"src/tgl/mtproto-client.c" +"src/tgl/mtproto-common.c" +"src/tgl/mtproto-utils.c" +"src/tgl/queries.c" +"src/tgl/structures.c" +"src/tgl/tg-mime-types.c" +"src/tgl/tgl-net.c" +"src/tgl/tgl-timers.c" +"src/tgl/tgl.c" +"src/tgl/tools.c" +"src/tgl/updates.c" +) +include_directories(${CMAKE_SOURCE_DIR}/libs/libevent/include) +set(TARGET Telegram) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +set_target_properties(${TARGET} PROPERTIES COMPILE_DEFINITIONS "HAVE_CONFIG_H") +target_link_libraries(${TARGET} Zlib libevent libeay32.lib ssleay32.lib)
\ No newline at end of file diff --git a/protocols/Tlen/CMakeLists.txt b/protocols/Tlen/CMakeLists.txt new file mode 100644 index 0000000000..6fe51db6d5 --- /dev/null +++ b/protocols/Tlen/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/crypto/polarssl/*.h" "src/codec/*.h" "src/*.cpp" "src/crypto/*.c" "src/codec/*.c" "res/*.rc") +set(TARGET Tlen) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_tlen)
\ No newline at end of file diff --git a/protocols/Tlen/proto_tlen/CMakeLists.txt b/protocols/Tlen/proto_tlen/CMakeLists.txt new file mode 100644 index 0000000000..4dec7da57c --- /dev/null +++ b/protocols/Tlen/proto_tlen/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Tlen) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/Tox/CMakeLists.txt b/protocols/Tox/CMakeLists.txt new file mode 100644 index 0000000000..88144b9949 --- /dev/null +++ b/protocols/Tox/CMakeLists.txt @@ -0,0 +1,7 @@ +file(GLOB SOURCES "src/*.h" "include/*.h" "src/*.cpp" "res/*.rc") +set(TARGET Tox) +include_directories("include") +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +target_link_libraries(${TARGET} libjson Winmm.lib dnsapi.lib comctl32.lib) +add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND "make_ver.bat x86 ${CMAKE_BINARY_DIR}/Libs") +add_subdirectory(proto_tox)
\ No newline at end of file diff --git a/protocols/Tox/proto_tox/CMakeLists.txt b/protocols/Tox/proto_tox/CMakeLists.txt new file mode 100644 index 0000000000..680b9dc369 --- /dev/null +++ b/protocols/Tox/proto_tox/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Tox) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/Twitter/CMakeLists.txt b/protocols/Twitter/CMakeLists.txt new file mode 100644 index 0000000000..6f43f21232 --- /dev/null +++ b/protocols/Twitter/CMakeLists.txt @@ -0,0 +1,5 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET Twitter) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +target_link_libraries(${TARGET} libjson) +add_subdirectory(proto_twitter)
\ No newline at end of file diff --git a/protocols/Twitter/proto_twitter/CMakeLists.txt b/protocols/Twitter/proto_twitter/CMakeLists.txt new file mode 100644 index 0000000000..f7b45f0ca7 --- /dev/null +++ b/protocols/Twitter/proto_twitter/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_Twitter) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/VKontakte/CMakeLists.txt b/protocols/VKontakte/CMakeLists.txt new file mode 100644 index 0000000000..5de2c6962d --- /dev/null +++ b/protocols/VKontakte/CMakeLists.txt @@ -0,0 +1,5 @@ +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +set(TARGET VKontakte) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +target_link_libraries(${TARGET} libjson) +add_subdirectory(proto_vkontakte)
\ No newline at end of file diff --git a/protocols/VKontakte/proto_vkontakte/CMakeLists.txt b/protocols/VKontakte/proto_vkontakte/CMakeLists.txt new file mode 100644 index 0000000000..bde4bac94b --- /dev/null +++ b/protocols/VKontakte/proto_vkontakte/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_VKontakte) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/protocols/WhatsApp/CMakeLists.txt b/protocols/WhatsApp/CMakeLists.txt new file mode 100644 index 0000000000..cbca8a0ba4 --- /dev/null +++ b/protocols/WhatsApp/CMakeLists.txt @@ -0,0 +1,4 @@ +file(GLOB SOURCES "src/*.h" "src/WhatsAPI++/*.h" "src/*.cpp" "src/OpenSSL/*.c" "src/WhatsAPI++/*.cpp" "res/*.rc") +set(TARGET WhatsApp) +include(${CMAKE_SOURCE_DIR}/cmake/plugin.cmake) +add_subdirectory(proto_whatsapp)
\ No newline at end of file diff --git a/protocols/WhatsApp/proto_whatsapp/CMakeLists.txt b/protocols/WhatsApp/proto_whatsapp/CMakeLists.txt new file mode 100644 index 0000000000..5193619806 --- /dev/null +++ b/protocols/WhatsApp/proto_whatsapp/CMakeLists.txt @@ -0,0 +1,2 @@ +set(TARGET Proto_WhatsApp) +include(${CMAKE_SOURCE_DIR}/cmake/icons.cmake)
\ No newline at end of file diff --git a/src/mir_app/CMakeLists.txt b/src/mir_app/CMakeLists.txt index 8e72c06f59..fa73635191 100644 --- a/src/mir_app/CMakeLists.txt +++ b/src/mir_app/CMakeLists.txt @@ -1,4 +1,9 @@ -file(GLOB SOURCES "src/*.h" "src/*.cpp" "src/mir_app.def" "res/*.rc") +file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") +if(CMAKE_CL_64) + list(APPEND SOURCES "src/mir_app64.def") +else() + list(APPEND SOURCES "src/mir_app.def") +endif() set(TARGET mir_app) include(${CMAKE_SOURCE_DIR}/cmake/lib.cmake) diff --git a/src/mir_core/CMakeLists.txt b/src/mir_core/CMakeLists.txt index aaaacf1312..d9ad3b5ba2 100644 --- a/src/mir_core/CMakeLists.txt +++ b/src/mir_core/CMakeLists.txt @@ -1,5 +1,11 @@ -file(GLOB SOURCES "src/*.h" "src/*.cpp" "src/mir_core.def") +file(GLOB SOURCES "src/*.h" "src/*.cpp") +if(CMAKE_CL_64) + list(APPEND SOURCES "src/mir_core64.def") +else() + list(APPEND SOURCES "src/mir_core.def") +endif() set(TARGET mir_core) include(${CMAKE_SOURCE_DIR}/cmake/lib.cmake) -set_target_properties(${TARGET} PROPERTIES COMPILE_DEFINITIONS "MIR_CORE_EXPORTS")
\ No newline at end of file +set_target_properties(${TARGET} PROPERTIES COMPILE_DEFINITIONS "MIR_CORE_EXPORTS") +add_custom_command(TARGET ${TARGET} PRE_BUILD COMMAND "${CMAKE_SOURCE_DIR}/build/make_ver.bat")
\ No newline at end of file diff --git a/src/miranda32/CMakeLists.txt b/src/miranda32/CMakeLists.txt index 1ca94b3a1d..2375cb76d6 100644 --- a/src/miranda32/CMakeLists.txt +++ b/src/miranda32/CMakeLists.txt @@ -1,7 +1,12 @@ file(GLOB SOURCES "src/*.h" "src/*.cpp" "res/*.rc") -add_executable(miranda32 ${SOURCES}) +if(CMAKE_CL_64) + set(TARGET "Miranda64") +else() + set(TARGET "Miranda32") +endif() +add_executable(${TARGET} ${SOURCES}) include_directories(.) -set_target_properties(miranda32 PROPERTIES +set_target_properties(${TARGET} PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS" RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/$<CONFIG>" )
\ No newline at end of file |