All Projects → chadmv → Cgcmake

chadmv / Cgcmake

Licence: mit
CMake modules for common applications related to computer graphics

Labels

Projects that are alternatives of or similar to Cgcmake

Llvm Amdgpu Assembler Extra
LLVM AMDGPU Assembler Helper Tools
Stars: ✭ 80 (-18.37%)
Mutual labels:  cmake
Hatchit
A Free and Open Source 3D Game Engine written in C++
Stars: ✭ 91 (-7.14%)
Mutual labels:  cmake
Examples
VLC-Qt Examples
Stars: ✭ 96 (-2.04%)
Mutual labels:  cmake
Torchlambda
Lightweight tool to deploy PyTorch models to AWS Lambda
Stars: ✭ 83 (-15.31%)
Mutual labels:  cmake
Novuscore
A modern take on WoW emulation
Stars: ✭ 88 (-10.2%)
Mutual labels:  cmake
Webdav Client Cpp
☁️ C++ WebDAV Client provides easy and convenient to work with WebDAV-servers.
Stars: ✭ 92 (-6.12%)
Mutual labels:  cmake
Leathers
🚀 Warning suppression library (C++)
Stars: ✭ 78 (-20.41%)
Mutual labels:  cmake
Cqxq
让XQ支持CQ插件
Stars: ✭ 97 (-1.02%)
Mutual labels:  cmake
Raspi Toolchain
Stars: ✭ 90 (-8.16%)
Mutual labels:  cmake
Rustcmake
An example project showing usage of CMake with Rust
Stars: ✭ 94 (-4.08%)
Mutual labels:  cmake
Gr Nordic
GNU Radio module and Wireshark dissector for the Nordic Semiconductor nRF24L Enhanced Shockburst protocol.
Stars: ✭ 84 (-14.29%)
Mutual labels:  cmake
Aws Robomaker Small Warehouse World
This Gazebo world is well suited for organizations who are building and testing robot applications for warehouse and logistics use cases.
Stars: ✭ 85 (-13.27%)
Mutual labels:  cmake
Dcmjs
dcmjs is a javascript cross-compile of dcmtk (dcmtk.org).
Stars: ✭ 92 (-6.12%)
Mutual labels:  cmake
Progress Cpp
A flexible ASCII progress-bar for C++
Stars: ✭ 81 (-17.35%)
Mutual labels:  cmake
Gr Tutorial
A tutorial OOT module for GNU Radio
Stars: ✭ 96 (-2.04%)
Mutual labels:  cmake
Gr Elster
A GNU Radio block that decodes packets transmitted by Elster R2S smart meters
Stars: ✭ 78 (-20.41%)
Mutual labels:  cmake
Kinectazuredkprogramming
Samples about Kinect Azure DK programming
Stars: ✭ 92 (-6.12%)
Mutual labels:  cmake
Cmake fortran template
A template directory structure for a Fortran project using CMake as the build system.
Stars: ✭ 97 (-1.02%)
Mutual labels:  cmake
Avp Slam Sim
A basic implementation(not official code) of AVP-SLAM(IROS 2020) in simulation. https://arxiv.org/abs/2007.01813
Stars: ✭ 97 (-1.02%)
Mutual labels:  cmake
Kindd
A kindful dd, written in qt-quick.
Stars: ✭ 93 (-5.1%)
Mutual labels:  cmake

cgcmake

CMake modules for common applications related to computer graphics

Sample Usage

Maya Project

|-- CMakeLists.txt
|-- cgcmake
    |-- modules
        |-- FindMaya.cmake
|-- src
    |-- CMakeLists.txt
    |-- pluginMain.cpp
    |-- sampleCmd.cpp
    |-- sampleCmd.h

Root CMakeLists.txt

cmake_minimum_required(VERSION 3.1...3.15)

if(${CMAKE_VERSION} VERSION_LESS 3.12)
    cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
endif()

cmake_policy(SET CMP0048 NEW)

project(MayaProjectName VERSION 1.0 DESCRIPTION "My Maya Plug-in" LANGUAGES CXX)

set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cgcmake/modules)

add_subdirectory(src)

src/CMakeLists.txt

set(SOURCE_FILES
    "pluginMain.cpp"
    "sampleCmd.h"
    "sampleCmd.cpp"
)

find_package(Maya REQUIRED)

add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES})

target_link_libraries(${PROJECT_NAME} PRIVATE Maya::Maya)
target_include_directories(${PROJECT_NAME} 
    PRIVATE Maya::Maya
    PUBLIC "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}"
)
MAYA_PLUGIN(${PROJECT_NAME})

install(TARGETS ${PROJECT_NAME} ${MAYA_TARGET_TYPE} DESTINATION plug-ins/${MAYA_VERSION})

Windows

In a Command Prompt from the root of the project

Pre-Maya 2020

mkdir build.2019
cd build.2019
cmake -A x64 -T v140 -DMAYA_VERSION=2019 ../
cmake --build . --target install --config Release

Maya 2020

mkdir build.2020
cd build.2020
cmake -A x64 -T v141 -DMAYA_VERSION=2020 ../
cmake --build . --target install --config Release
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].